for f in $(cat liste.txt); doça ne marche que si liste.txt n'est pas trop gros (moins de 100Ko).
Citation
nicola
Avec ls puis grep derrière un tube ?
#! /bin/bash grep -v '^#' maliste | while read line; do mv rep1/$line rep2/$line ;donej'ai mis un grep pour permettre les commentaires # dans le fichier maliste.
for i in $(<liste); do mv $i répertoire2/. doneIl ne faut pas oublier de préciser les chemins vers les fichiers de la liste et vers répertoire2...
Citation
Ivan
ah !? un UUOC* de la part de Basile !?
*Useless Use Of Cat
Copier-coller ? :ange:Citation
Basile STARYNKEVITCH
Alors je présente toutes mes excuses aux lecteurs
pour ce UUOC, et merci à Ivan (j'ai vraiment la
flemme de taper son prénom en lettres cyrilliques,
qu'il m'en excuse!) pour la correction.
Citation
AlSim
Copier-coller ?
Citation
[color=red
----[/color]
Basile STARYNKEVITCH
Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!
Projet logiciel libre: RefPerSys
Citation
Иван
for i in $(<liste); do
mv $i répertoire2/.
done
Citation
Basile STARYNKEVITCH
#! /bin/bash
grep -v '^#' maliste | while read line; do mv rep1/$line rep2/$line ;done
egrep -v '^(#| *$)'(pas testé et pas sûr que ça marche).
ls -F | egrep -v "(/$|\*$)" > liste.txt # egrep filtre les répertoires et les fichiers exécutablesJ'ai inséré des lignes vides dans liste.txt, et commenté quelques lignes.
for i in $(egrep -v "^#" liste.txt); do mv /home/nbah/$i /home/nbah/cpfiles/.; done mv: ne peut évaluer `nouveau': Aucun fichier ou répertoire de ce type mv: ne peut évaluer `fichier': Aucun fichier ou répertoire de ce typeJ'ai effectivement un fichier 'nouveau fichier', qui n'est pas déplacé (?). Mais les lignes vides sont ignorées, ainsi que les lignes commentées.
egrep -v '^(#| *$)' maliste | while read line; do if [ -f "rep1/$line" ]; then mv "rep1/$line" "rep2/$line" ; fi; done
egrep -v '^(#| *$)' maliste | while read line; do [ -f "rep1/$line" ] && mv "rep1/$line" "rep2/$line" ; done
Citation
Иван
Bonjour vitcz
Mais, pourquoi ton fichier liste.txt
contiendrait-il des lignes vides ? Tu n'a pas dit
comment tu le remplis. A la main, ou avec une
(ligne de) commande(s) ?
Si j'ai bien compris, ces adresse sont a remplacer par celle de mes rep1 et rep2, mais là le Rep 2 est dans rep1 non ?Citation
YVAN
/home/nbah/$i /home/nbah/cpfiles/
Citation
Basile STARYNKEVITCH
egrep -v '^(#| *$)' maliste | while read line; do if [ -f "rep1/$line" ]; then mv "rep1/$line" "rep2/$line" ; fi; done