Por que não consigo usar um comando como este para encontrar todos os arquivos pdf em um diretório e subdiretórios? Como eu faço isso? (Estou usando o bash no ubuntu)
ls -R *.pdf
EDITAR
Como eu excluiria todos esses arquivos?
Por que não consigo usar um comando como esse para encontrar todos os arquivos pdf em um diretório e subdiretórios?
O curinga *.pdf
em seu comando é expandido bash
para todos os arquivos correspondentes no diretório atual, antes de executar ls
.
Como eu faço isso? (Estou usando o bash no ubuntu)
encontrar é a sua resposta.
find . -name \*.pdf
é uma listagem recursiva de arquivos pdf. -iname
é uma correspondência que não diferencia maiúsculas de minúsculas, então
find . -iname \*.pdf
lista todos os arquivos .pdf, incluindo, por exemplo foo.PDF
Além disso, você pode usar ls para um número limitado de subpastas, por exemplo
ls *.pdf */*.pdf
para encontrar todos os arquivos pdf em subpastas (corresponde a bar / foo.pdf, não a bar / foo / asdf.pdf e não a foo.PDF).
Se você deseja remover os arquivos encontrados com o find, você pode usar
find . -iname \*.pdf -delete
ls -l
comando, mostrando o tamanho do arquivo, a propriedade, a data, etc., você pode usarfind
com a-ls
opção, por exemplofind . -name \*.pdf -ls
Como outros já disseram, encontrar é a resposta.
Agora, para responder a outra parte.
Como eu excluiria todos esses arquivos?
encontrar . -iname * .pdf -exec rm {} \;
Deveria fazê-lo.
fonte
Use find em vez de ls
fonte