find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;
Voici un test que j'ai fait
$ ls -R
.:
a aaa bbb.pdf pdfs
./a:
foo.pdf
./pdfs:
Remarquez le fichier "aaa bbb.pdf".
$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a pdfs
./a:
./pdfs:
aaa bbb.pdf foo.pdf
Si vous utilisez bash
dans une version récente, vous pouvez profiter du globstar
choix :
shopt -s globstar
mv **/*.pdf papers/
find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers
(semblable à une autre réponse mais je préfère pipe/xargs/mv ... plus intuitif pour moi)
Pour info, j'ai réussi le script d'une ligne ci-dessus sur plusieurs répertoires et plusieurs fichiers pdf.