Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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