Pages : 1
#1 Le 29/06/2017, à 18:19
- marchika
Commande find avec -exec
Bonjour,
je suis nouveau sur linux et je suis des tutos pour m'améliorer.
Dans un exercice, je dois regrouper tous les fichiers .txt dans le dossier Pictures (dans mon /home) le tout avec la commande find.
Voila donc ce que j'ai fait:
find -name "*.txt" -exec mv /home/Pictures/
Seulement la réponse est: missing argument to -exec.
J'ai essayé avec un \; à la fin mais là:
mv: missing destination file operand after '/home/marchika/Pictures/'
Try 'mv --help' for more information.
Si quelqu'un peut m'aider,
Merci!
Hors ligne
#2 Le 29/06/2017, à 19:05
- pingouinux
Re : Commande find avec -exec
Bonsoir,
Essaye ceci
find -name "*.txt" -exec echo mv -i {} /home/Pictures/ \;
et enlève le echo si c'est bon.
Hors ligne
#3 Le 29/06/2017, à 19:23
- gigiair
Re : Commande find avec -exec
Il vaut mieux préciser que ce que tu veux déplacer est de type fichier. On ne sait jamais, créer le répertoire mesdocs.txt n'est pas interdit.
mv le déplacerait sans broncher.
find /répertoire/dedébut/derecherche -type f -name '*.txt' -exec echo mv -i '{}' /home/Pictures/ \;
--
JJR.
Hors ligne
#4 Le 29/06/2017, à 19:24
- marchika
Re : Commande find avec -exec
Merci pour ta réponse!
Lorsque je fais ta commande, voici ce que j'ai:
mv -i ./ttf.txt /home/Pictures/
mv -i ./rttf.txt /home/Pictures/
Cependant, rien n'a bougé lorsque je vais voir en graphique..
Et sans le echo j'ai ce message d'erreur:
mv: cannot move './ttf.txt' to '/home/Pictures/': Not a directory
mv: cannot move './rttf.txt' to '/home/Pictures/': Not a directory
Hors ligne
#5 Le 29/06/2017, à 19:39
- pingouinux
Re : Commande find avec -exec
C'est parce que le répertoire /home/Pictures n'existe sans doute pas. C'est peut-être $HOME/Pictures qu'il faut utiliser.
Il est prudent que le répertoire de départ ne contienne pas le répertoire de destination dans son arborescence.
Ajouté : Préciser le type de fichier, comme le suggère gigiair en #3, est effectivement préférable
Dernière modification par pingouinux (Le 29/06/2017, à 19:41)
Hors ligne
#6 Le 30/06/2017, à 07:36
- gigiair
Re : Commande find avec -exec
Il existe une excellente documentation de find :
info finding files
C'est encore mieux de la parcourir avec Emacs
emacs --eval '(info "(find)")'
--
JJR.
Hors ligne