Boucle for + move de fichiers

ppierrot34 Messages postés 7 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

J'ai des petits soucis avec la commande for et le shell unix pour renommer des fichiers.
J'ai dans un fichier txt par exemple plusieurs lignes comme celle-ci :
/rep/rep/rep/rep1/fichier /dir/dir/dir/fichier2

je voudrais tout simplement les déplacer du premier argument fichier vers le deuxieme fichier2

Voici le script :
for file in "`cat list.txt`"
do
mv "$file"
done

Il me demande une destination.
Quelqu'un aurait-il une solution ?
Merci
Configuration: Windows Vista
Firefox 3.0.14

2 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    C'est ça que tu veux?
    lami20j@debian:~$ ls -l {aaa,bbb}1
    -rw-r--r-- 1 lami20j lami20j 0 oct 16 20:21 aaa1
    -rw-r--r-- 1 lami20j lami20j 0 oct 16 20:21 bbb1
    lami20j@debian:~$ ls -l {aaa,bbb}2
    ls: ne peut accéder aaa2: Aucun fichier ou répertoire de ce type
    ls: ne peut accéder bbb2: Aucun fichier ou répertoire de ce type
    lami20j@debian:~$ cat fic
    /home/lami20j/aaa1 /home/lami20j/aaa2
    /home/lami20j/bbb1 /home/lami20j/bbb2
    lami20j@debian:~$  for i in $(cat fic|tr " " "_");do mv -v ${i/_/ };done
    `/home/lami20j/aaa1' -> `/home/lami20j/aaa2'
    `/home/lami20j/bbb1' -> `/home/lami20j/bbb2'
    lami20j@debian:~$ ls -l {aaa,bbb}1
    ls: ne peut accéder aaa1: Aucun fichier ou répertoire de ce type
    ls: ne peut accéder bbb1: Aucun fichier ou répertoire de ce type
    lami20j@debian:~$ ls -l {aaa,bbb}2
    -rw-r--r-- 1 lami20j lami20j 0 oct 16 20:21 aaa2
    -rw-r--r-- 1 lami20j lami20j 0 oct 16 20:21 bbb2
    lami20j@debian:~$


    0
    1. Utilisateur anonyme
       
      C'est un peu tortueux, et rarement une bonne idée, d'utiliser for pour lire un fichier :
      while read src dest; do mv -v $src $dest; done < fic
      Cela dit, on peut éviter l'usage de cat par
      tr ' ' '_' < fic
      0
  2. ppierrot34 Messages postés 7 Statut Membre
     
    Oui merci beaucoup
    0