Déplacer un fichier depuis une liste

Résolu/Fermé
SassaM. Messages postés 1 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 5 novembre 2013 - 5 nov. 2013 à 16:17
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 8 nov. 2013 à 10:10
Bonjour,

J'ai beau chercher, je ne trouve pas la solution à mon problème.
Je gère une base d'images très importante et je souhaiterais à partir d'une liste excel (ou d'un fichier .txt) déplacer le fichier image, mentionné dans la liste, dans un autre dossier.

Pour être plus claire :
dans un dossier "FDV", j'ai des images nommées "XXXXX.jpg".
Parmi ces images je dois en déplacer certaines dans un autre dossier "AC".
Les images devant être déplacées sont listées sur un fichier excel.

J'ai regardé via Automator mais je n'ai pas trouvé comment amenée ma liste et pour que mes commandes s'enchaînent parfaitement.
Et je ne suis pas assez calée sur le Terminal ni sur AppleScript pour y arriver seule...HELP....

Merci d'avance.
A voir également:

2 réponses

Merci j'ai enfin trouvé un petit script qui fonctionne.
Merci à tous.
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
8 nov. 2013 à 10:10
De rien.

Par contre, poster la solution aurait été appréciable ;-\
0
mamiemando Messages postés 33333 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 31 octobre 2024 7 800
6 nov. 2013 à 00:19
Supposons que le fichier /home/toto/toto.txt contienne un nom de fichier par ligne à déplacer depuis /home/toto/FDV vers /home/toto/AC, alors la commande à lancer est :

for x in $(cat /home/toto/toto.txt); do mv /home/toto/FDV/$x /home/toto/AC; done

Bonne chance
-1
Utilisateur anonyme
6 nov. 2013 à 02:15
salut,

non! UUOC!
on ne "for boucle" pas sur la sortie d'une commande.
cette sortie peut contenir des espaces sur une même ligne, et la "for boucle" bouclera sur chaque mot de la ligne.
la manière la plus sûre de lire un fichier en shell est une boucle while.

while read -r line; do echo "$line"; done <fichier
pour lire la sortie d'une commande, on pipe cette dernière vers une boucle while, ou y en redirigeant une substitution de processus.
0
mamiemando Messages postés 33333 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 31 octobre 2024 7 800
7 nov. 2013 à 07:59
Tu as raison, des espaces sur une ligne de fichier fausseront la commande comme tu l'as indiqué, je n'avais pas pensé à ce cas de figure, et ta solution évitera ce genre de problème.
0