Eu tenho um diretório que contém um grande número de arquivos PDF, alguns dos quais estão em subdiretórios (que podem estender várias camadas). Gostaria de mover todos os arquivos correspondentes *.pdf
para uma única pasta de saída denominada papers
.
Como posso fazer isso?
linux
command-line
blz
fonte
fonte
a/x.pdf
eb/x.pdf
?Respostas:
Se você usa
bash
uma versão recente, pode lucrar com aglobstar
opção:fonte
Aqui está um teste que eu fiz
Observe o arquivo "aaa bbb.pdf".
fonte
"{}"
para lidar com nomes de arquivos que contêm espaços?(semelhante a outra resposta, mas eu prefiro pipe / xargs / mv ... mais intuitivo para mim)
Para sua informação, eu fiz o script de uma linha acima com êxito em vários diretórios e vários arquivos pdf.
fonte
-print0
à sua localização e-0
ao xargs.Para a linha de comando do Windows (cmd.exe), você pode usar:
fonte
Se você estiver pesquisando apenas um diretório em profundidade, poderá:
onde
<destination>
significa algum diretório.mv
não criará automaticamente um diretório para você.fonte