como copiar apenas pdf de pastas e subpastas?

como copiar apenas pdf de pastas e subpastas?

Eu tenho uma pasta com cerca de 20 subpastas, cada uma com 10 a 15 subpastas. Existe uma maneira de usar CLI para mover apenas arquivos PDF para uma nova pasta?

Responder1

Para copiar apenas PDFs de todos os subdiretórios, digite:

rsync -rv --include '*/' --include '*.pdf' --exclude '*' /path/to/parent/source/directory/ /path/to/Destination/directory

Responder2

Você pode usar cpcom o bash globstarhabilitado (vejaesta pergunta U&L sobre globos recursivos):

shopt -s globstar 
cp some/folder/**/*.pdf target/folder

Ou, find:

find some/folder -iname '*.pdf' -exec cp -t target/folder {} +

Responder3

findcom -execflag é apropriado para isso. Por padrão, é recursivo e desce em subpastas

Se eu quisesse mover todos os arquivos png da pasta Downloads para a pasta Downloads/PNG, faria o seguinte: find $HOME/Downloads -type f -iname "*.png" -exec mv -t $HOME/Downloads/PNG {} +

No seu caso,

find /path/to/top/folder -type f -iname "*.pdf" -exec mv -t /some/other/place {} +

informação relacionada