web-dev-qa-db-fra.com

Comment déplacer ou copier des fichiers listés par la commande 'trouver' sous unix?

J'ai la liste de certains fichiers à l'aide de la commande ci-dessous, mais comment puis-je copier ces fichiers dans un autre dossier, par exemple ~/test?

find . -mtime 1 -exec du -hc {} +
38
L P

Ajoutant à la réponse d'Eric Jablow, voici une solution possible (cela a fonctionné pour moi - linux mint 14/nadia)

find /path/to/search/ -type f -name "glob-to-find-files" | xargs cp -t /target/path/

Vous pouvez vous référer à " Comment utiliser xargs pour copier des fichiers contenant des espaces et des guillemets? " également.

63
Ankur
find /PATH/TO/YOUR/FILES -name NAME.EXT -exec cp -rfp {} /DST_DIR \;
12
Laith Al Obaidy

Si vous utilisez GNU find,

find . -mtime 1 -exec cp -t ~/test/ {} +

Cela fonctionne aussi bien que de canaliser la sortie dans xargs tout en évitant les pièges de le faire (il gère les espaces et les nouvelles lignes sans avoir à utiliser find ... -print0 | xargs -0 ...).

4
kbolino

déplace les fichiers trouvés d'un répertoire par rapport à leur répertoire actuel

find . -path "*/yourfolder/*" -type f -execdir mv {} .. \;
0
danday74