Para copiar apenas os PDFs de todos os subdiretórios, digite:
rsync -rv --include '*/' --include '*.pdf' --exclude '*' /path/to/parent/source/directory/ /path/to/Destination/directory
Eu tenho uma pasta com cerca de 20 subpastas, cada uma com 10-15 subpastas. Existe uma maneira, usando o CLI para mover apenas arquivos PDF para uma nova pasta?
Para copiar apenas os PDFs de todos os subdiretórios, digite:
rsync -rv --include '*/' --include '*.pdf' --exclude '*' /path/to/parent/source/directory/ /path/to/Destination/directory
Você pode usar cp
com globstar
ativado do bash (consulte esta pergunta sobre globos recursivos ):
shopt -s globstar
cp some/folder/**/*.pdf target/folder
Ou, find
:
find some/folder -iname '*.pdf' -exec cp -t target/folder {} +
find
com -exec
flag é apropriado para isso. Por padrão, é recursivo e desce em subpastas
Se eu quisesse mover todos os arquivos png da pasta Downloads para Downloads / PNG, eu 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 {} +