Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/11/2018, à 11:05

xenonan

[Résolu]Script Bash modification fichier txt

Bonjour tout le monde !

voila je suis en train de faire un petit script mais j'aurai besoins de votre aide
voici le code en question :

#!/bin/bash
# Préparation du fichier images
sed -i -e 's/\r//' Images.txt
sed -i -e 's/,/|/g' Images.txt
sed -i -e 's/Images$/image_1|image_2|image_3|image_4|image_5|image_6|image_7|image_8|image_9|image_10|image_11|image_12|image_13|image_14|image_15|image_16/g' Images.txt
sed -i -e 's/\([0-9][0-9][0-9][0-9][0-9][0-9][0-9]\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)$/\1|..\/base-images\/\2|..\/base-images\/\3|..\/base-images\/\4|..\/base-images\/\5|..\/base-images\/\6|..\/base-images\/\7|..\/base-images\/\8|..\/base-images\/\9|..\/base-images\/\10|..\/base-images\/\11|..\/base-images\/\12|..\/base-images\/\13|..\/base-images\/\14|..\/base-images\/\15|..\/base-images\/\16|..\/base-images\/\17/g' Images.txt

Le fichier de base Base Image.txt

4526010|4526010_1.jpg|4526011_1.jpg|4526020_1.jpg|4526055_1.jpg|4526070_1.jpg|4526080_1.jpg|4526107_1.jpg|4526108_1.jpg|4526110_1.jpg|4526112_1.jpg|4526121_1.jpg|4526122_1.jpg|4526123_1.jpg|4526124_1.jpg|4526125_1.jpg|4526183_1.jpg

le résultat après exécution de mon script:

4526010|../base-images/4526010_1.jpg|../base-images/4526011_1.jpg|../base-images/4526020_1.jpg|../base-images/4526055_1.jpg|../base-images/4526070_1.jpg|../base-images/4526080_1.jpg|../base-images/4526107_1.jpg|../base-images/4526108_1.jpg|../base-images/45260100|../base-images/45260101|../base-images/45260102|../base-images/45260103|../base-images/45260104|../base-images/45260105|../base-images/45260106|../base-images/45260107

je ne sais pas pourquoi a partir de l'image 8 il récupere pas le bon fichier.

Voila merci pour votre aide ^^

Dernière modification par xenonan (Le 22/11/2018, à 15:22)

Hors ligne

#2 Le 19/11/2018, à 11:27

pingouinux

Re : [Résolu]Script Bash modification fichier txt

Bonjour,
Quel résultat veux-tu obtenir ?

Hors ligne

#3 Le 19/11/2018, à 11:32

xenonan

Re : [Résolu]Script Bash modification fichier txt

Voila le résultat que je souhaiterai obtenir

4526010|../base-images/4526010_1.jpg|../base-images/4526011_1.jpg|../base-images/4526020_1.jpg|../base-images/4526055_1.jpg|../base-images/4526070_1.jpg|../base-images/4526080_1.jpg|../base-images/4526107_1.jpg|../base-images/4526108_1.jpg|../base-images/4526110_1.jpg|../base-images/4526112_1.jpg|../base-images/4526121_1.jpg|../base-images/4526122_1.jpg|../base-images/4526123_1.jpg|../base-images/4526124_1.jpg|../base-images/4526125_1.jpg|../base-images/4526183_1.jpg

Hors ligne

#4 Le 19/11/2018, à 12:22

Hizoka

Re : [Résolu]Script Bash modification fichier txt

Salut, c'est loin d'être lisible tout ça.

Peux tu nous montrer une partie du fichier de base (avant tes sed) ?
car ce que tu nous montre a déjà été modifié par sed (ligne 1 et 2 je présume)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 19/11/2018, à 12:35

xenonan

Re : [Résolu]Script Bash modification fichier txt

effectivement ce que je vous ai montré a déjà été modifié par sed
Voila le fichier de base

Reference|Images
4526010|4526010_1.jpg,4526011_1.jpg,4526020_1.jpg,4526055_1.jpg,4526070_1.jpg,4526080_1.jpg,4526107_1.jpg,4526108_1.jpg,4526110_1.jpg,4526112_1.jpg,4526121_1.jpg,4526122_1.jpg,4526123_1.jpg,4526124_1.jpg,4526125_1.jpg,4526183_1.jpg

le script que je souhaiterai faire c'est de modifier le chemin des fichiers par exemple le fichiers 4526010_1.jpg je veux que ca devient ../base-images/4526010_1.jpg

Dernière modification par xenonan (Le 19/11/2018, à 12:45)

Hors ligne

#6 Le 19/11/2018, à 12:48

pingouinux

Re : [Résolu]Script Bash modification fichier txt

Pour les étapes 2 et 4 :

sed -nr 's#[,|]([[0-9_]+.jpg)#|../base-images/\1#gp' fichier

Dernière modification par pingouinux (Le 19/11/2018, à 13:11)

Hors ligne

#7 Le 19/11/2018, à 16:24

Hizoka

Re : [Résolu]Script Bash modification fichier txt

et si on fait tout bêtement :

sed "1d; s@[|,]@|../base-images/@g"
4526010|../base-images/4526010_1.jpg|../base-images/4526011_1.jpg|../base-images/4526020_1.jpg|../base-images/4526055_1.jpg|../base-images/4526070_1.jpg|../base-images/4526080_1.jpg|../base-images/4526107_1.jpg|../base-images/4526108_1.jpg|../base-images/4526110_1.jpg|../base-images/4526112_1.jpg|../base-images/4526121_1.jpg|../base-images/4526122_1.jpg|../base-images/4526123_1.jpg|../base-images/4526124_1.jpg|../base-images/4526125_1.jpg|../base-images/4526183_1.jpg

Ca le fait non ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 19/11/2018, à 17:25

pingouinux

Re : [Résolu]Script Bash modification fichier txt

Tu as raison, Hizoka, mais si xenonan garde ou modifie la première ligne, il ne faut pas la modifier à nouveau.

Hors ligne

#9 Le 19/11/2018, à 17:47

Hizoka

Re : [Résolu]Script Bash modification fichier txt

Donc, si on veut virer simplement la 1ere ligne :

sed "1d; s@[|,]@|../base-images/@g"

et si on ne veut pas la supprimer

sed "s@[|,]@|../base-images/@g"

KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#10 Le 19/11/2018, à 18:03

pingouinux

Re : [Résolu]Script Bash modification fichier txt

Hizoka, ta seconde commande en #9 modifie aussi la première ligne.
Pour l'éviter :

sed '1!s@[|,]@|../base-images/@g' fichier

Hors ligne

#11 Le 19/11/2018, à 18:19

Hizoka

Re : [Résolu]Script Bash modification fichier txt

Ah ouais, bien vu smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#12 Le 20/11/2018, à 00:00

nany

Re : [Résolu]Script Bash modification fichier txt

Bonjour,

J’ai traité la première ligne et repris votre solution pour la deuxième ligne pour refaire le script :

#!/bin/bash
# Préparation du fichier images

f="Images.txt"
n=$(grep -o jpg "$f" | wc -l)
l=""
p="|Images"
c="../base-images/"

for (( i=1 ; i <= $n ; i++ ))
do
  l="$l|image_$i"
done
sed -i "s#$p#$l# ; 1!s#[|,]#|$c#g" "$f"

exit 0

Hors ligne

#13 Le 20/11/2018, à 17:55

Hizoka

Re : [Résolu]Script Bash modification fichier txt

Si c'est good, ajoute [Résolu] dans ton titre.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#14 Le 22/11/2018, à 15:20

xenonan

Re : [Résolu]Script Bash modification fichier txt

Merci les gars: smile:):)

Hors ligne