0 votes

Copier tous les fichiers d'un type spécifique dans un dossier spécifique à l'aide du Terminal de Mac

Comment copier tous les fichiers d'un type spécifique dans un dossier spécifique en utilisant le Terminal de Mac.

find . -name '*.STY' -type f -print0 | xargs -0 -I '{}' /usr/bin/rsync -avR "{}" "./styleFiles_chekad/"

Le shell script ci-dessus fait le travail et conserve les dossiers intacts. Que faire si je ne veux pas de sous-dossiers et que je veux que tous les fichiers se trouvent dans le "styleFiles_chekad" ? Mais c'est très compliqué. Existe-t-il un moyen plus simple de procéder ? La commande suivante ne fonctionne pas !

cp . -name '*.STY' styleFiles_chekad/

Toute aide serait grandement appréciée.

PS. Quelqu'un peut-il me recommander une bonne ressource pour les scripts bash ?

2voto

nohillside Points 82672

Vous devriez pouvoir exécuter simplement

t=${TMPDIR:-/tmp}/target
mkdir "$t"

find . -type f -name '*.STY' -exec cp {} "$t"/ \;

mv "$t"/* ./styleFiles_chekad/
rmdir "$t"

L'idée derrière l'utilisation d'un répertoire temporaire est d'empêcher find de copier également les fichiers qu'il a déjà déplacés dans le dossier ./styleFiles_chekad/ .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X