Используя CLI, rsync является отличным вариантом. Учитывая эту структуру:
$ find src
src
src/1.pdf
src/4.txt
src/a
src/a/2.pdf
src/a/b
src/a/b/3.pdf
src/c
src/c/5.txt
При этом будут перенесены все PDF-файлы и каталоги, кроме всех других файлов:
$ rsync -av --include="*.pdf" --include "*/" --exclude "*" src/ dest
building file list ... done
created directory dest
./
1.pdf
a/
a/2.pdf
a/b/
a/b/3.pdf
c/
Если вам не нужна поддержка структуры папок:
find src/ -name "*.pdf" -exec mv {} dest/ \;