J'ai un répertoire contenant un grand nombre de fichiers PDF, dont certains sont dans des sous-répertoires (qui peuvent s'étendre sur plusieurs couches). Je voudrais déplacer tous les fichiers correspondants *.pdf
dans un seul dossier de sortie nommé papers
.
Comment puis-je faire ceci?
a/x.pdf
etb/x.pdf
?Réponses:
Si vous utilisez
bash
dans une version récente, vous pouvez bénéficier de l'globstar
option:la source
Voici un test que j'ai fait
Notez le fichier "aaa bbb.pdf".
la source
"{}"
pour traiter les noms de fichiers contenant des espaces?(similaire à une autre réponse mais je préfère pipe / xargs / mv ... plus intuitif pour moi)
Pour info, j'ai fait le script d'une ligne ci-dessus avec succès sur plusieurs répertoires et plusieurs fichiers pdf.
la source
-print0
à votre recherche et-0
à xargs.Pour la ligne de commande Windows (cmd.exe), vous pouvez utiliser:
la source
Si vous ne recherchez qu'un seul répertoire en profondeur, vous pouvez faire:
où
<destination>
représente un répertoire.mv
ne créera pas automatiquement de répertoire pour vous.la source