Double boucle Bash
Résolu
Maillon
Messages postés
157
Statut
Membre
-
Maillon Messages postés 157 Statut Membre -
Maillon Messages postés 157 Statut Membre -
Bonjour,
Voilà j'ai deux fichier toto.txt et titi.txt.
Ces deux fichiers contiennent la même liste de fichiers sauf que dans titi.txt j'ai changer l'extention du fichier.
REP="/home/maillon/Outils/rep/"
find $REP -type f -name "*.txt" -exec ls {} \; > txt.list
cp txt.list txt2.list
sed -i "s/\.txt/-home\.txt/g" txt2.list
Maintenant ce que je voudrais faire c'est parcourir mon fichier txt.list pour afficher :
"La ligne /home/maillon/Outils/rep/blala.txt est égal à la ligne /home/maillon/Outils/rep/blala-home.txt"
Donc au début je pensais faire quelque chose comme :
while read line
do
while read line2
do
"La ligne $line est égal à la ligne $line2"
done < titi.txt
done < toto.txt
Seulemenent ça marche pas parce qu'il parcours tout mon fichier titi.txt
Est-ce que quelqu'un aurait une idée ? Je ne pense pas que se soit compliquer mais j'y arrive pas.
Merci beaucoup.
Cordialement,
Voilà j'ai deux fichier toto.txt et titi.txt.
Ces deux fichiers contiennent la même liste de fichiers sauf que dans titi.txt j'ai changer l'extention du fichier.
REP="/home/maillon/Outils/rep/"
find $REP -type f -name "*.txt" -exec ls {} \; > txt.list
cp txt.list txt2.list
sed -i "s/\.txt/-home\.txt/g" txt2.list
Maintenant ce que je voudrais faire c'est parcourir mon fichier txt.list pour afficher :
"La ligne /home/maillon/Outils/rep/blala.txt est égal à la ligne /home/maillon/Outils/rep/blala-home.txt"
Donc au début je pensais faire quelque chose comme :
while read line
do
while read line2
do
"La ligne $line est égal à la ligne $line2"
done < titi.txt
done < toto.txt
Seulemenent ça marche pas parce qu'il parcours tout mon fichier titi.txt
Est-ce que quelqu'un aurait une idée ? Je ne pense pas que se soit compliquer mais j'y arrive pas.
Merci beaucoup.
Cordialement,
A voir également:
- Double boucle Bash
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
- Double boot - Guide
3 réponses
Salut,
Je n'arrive pas à comprendre la finalité de la chose, d'autant plus que tu ne fais aucun test de comparaison ;-\
Si le but est d'afficher les 2 fichiers côte-à-côte il y a la commande "paste" qui le fait très bien ;-)
Je n'arrive pas à comprendre la finalité de la chose, d'autant plus que tu ne fais aucun test de comparaison ;-\
Si le but est d'afficher les 2 fichiers côte-à-côte il y a la commande "paste" qui le fait très bien ;-)
En fait je m'étais peut-être mal exprimer.
Je lancais une comande dedans j'avais besoin du nom du fichier courant et du nom du fichier modifier.
J'ai trouver un truc qui marche mais peut etre optimiser :
while read line
do
echo $line > temp.list
sed -i "s/\.txt/-home\.txt/" temp.list
tmp=`cat temp.list`
echo $line " -> " $tmp
Commande $tmp $line
done < txt.list
J'espère que ça pourra aider quelqu'un.
Cordialement,
Je lancais une comande dedans j'avais besoin du nom du fichier courant et du nom du fichier modifier.
J'ai trouver un truc qui marche mais peut etre optimiser :
while read line
do
echo $line > temp.list
sed -i "s/\.txt/-home\.txt/" temp.list
tmp=`cat temp.list`
echo $line " -> " $tmp
Commande $tmp $line
done < txt.list
J'espère que ça pourra aider quelqu'un.
Cordialement,
On ne sait toujours pas l'intérêt de la manœuvre ! ;-(
Quant à :
Quant à :
echo $line > temp.list sed -i "s/\.txt/-home\.txt/" temp.listIl serait plus simple de faire :
echo ${line/\.txt/-home\.txt} > temp.list;-))
Ui en fait désolé j'ai oublié de le dire :-)
C'est pour faire de la minification de fichier (avec une appli java yuicompressor) vu que je voulais pas supprimer les fichiers existants. Je devais passer en paramètre le nouveau nom de fichier et le nom actuel du fichier.
En tout cas merci pour ta commande c'est vrai c'est plus optimisé.
J'espère avoir été clair :-)
Cordialement,
C'est pour faire de la minification de fichier (avec une appli java yuicompressor) vu que je voulais pas supprimer les fichiers existants. Je devais passer en paramètre le nouveau nom de fichier et le nom actuel du fichier.
En tout cas merci pour ta commande c'est vrai c'est plus optimisé.
J'espère avoir été clair :-)
Cordialement,