find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;
Inilah tes yang saya lakukan
$ ls -R
.:
a aaa bbb.pdf pdfs
./a:
foo.pdf
./pdfs:
Perhatikan file "aaa bbb.pdf".
$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a pdfs
./a:
./pdfs:
aaa bbb.pdf foo.pdf
Jika Anda menggunakan bash
dalam versi terbaru, Anda bisa mendapatkan keuntungan dari globstar
opsi:
shopt -s globstar
mv **/*.pdf papers/
find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers
(mirip dengan jawaban lain tapi saya lebih suka pipa/xargs/mv ... lebih intuitif untuk saya)
FYI, saya berhasil membuat skrip satu baris di atas pada banyak direktori dan banyak file pdf.