find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;
Hier ist ein Test, den ich gemacht habe
$ ls -R
.:
a aaa bbb.pdf pdfs
./a:
foo.pdf
./pdfs:
Beachten Sie die Datei "aaa bbb.pdf".
$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a pdfs
./a:
./pdfs:
aaa bbb.pdf foo.pdf
Wenn Sie bash
verwenden in einer neueren Version können Sie von der globstar
profitieren Möglichkeit:
shopt -s globstar
mv **/*.pdf papers/
find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers
(ähnlich einer anderen Antwort, aber ich bevorzuge pipe/xargs/mv ... intuitiver für mich)
Zu Ihrer Information, ich habe das obige einzeilige Skript erfolgreich für mehrere Verzeichnisse und mehrere PDF-Dateien ausgeführt.