У меня есть папка с 20 подпапками, каждая с 10-15 подпапками. Есть ли способ использовать CLI для перемещения только файлов PDf в новую папку?
Вы можете использовать cp с включенным bash globstar (см. этот вопрос U & amp; L для рекурсивных глобусов):
shopt -s globstar
cp some/folder/**/*.pdf target/folder
Или, find:
find some/folder -iname '*.pdf' -exec cp -t target/folder {} +
find с флагом -exec подходит для этого. Он по умолчанию рекурсивный и спускается во вложенные папки
Если бы я хотел переместить все png-файлы из папки Downloads to Downloads / PNG, я бы сделал это: find $HOME/Downloads -type f -iname "*.png" -exec mv -t $HOME/Downloads/PNG {} +
В вашем случае ,
find /path/to/top/folder -type f -iname "*.pdf" -exec mv -t /some/other/place {} +