Risposte:
Perché non posso usare un comando come questo per trovare tutti i file pdf in una directory e sottodirectory?
Il carattere jolly *.pdf
nel comando viene espanso da bash
tutti i file corrispondenti nella directory corrente, prima di essere eseguito ls
.
Come lo faccio? (Sto usando bash in Ubuntu)
find è la tua risposta.
find . -name \*.pdf
è un elenco ricorsivo di file pdf. -iname
è una corrispondenza senza distinzione tra maiuscole e minuscole, quindi
find . -iname \*.pdf
elenca tutti i file .pdf, incluso ad esempio foo.PDF
Inoltre, puoi usare ls per un numero limitato di sottocartelle, ad esempio
ls *.pdf */*.pdf
per trovare tutti i file pdf nelle sottocartelle (corrisponde a bar / foo.pdf, non a bar / foo / asdf.pdf e non a foo.PDF).
Se si desidera rimuovere i file trovati con find, è possibile utilizzare
find . -iname \*.pdf -delete
Come altri hanno già detto, trovare è la risposta.
Ora per rispondere all'altra parte.
Come potrei quindi eliminare tutti questi file?
trova . -iname * .pdf -exec rm {} \;
Dovrebbe farlo.
ls -l
comando, che mostri le dimensioni del file, la proprietà, la data, ecc., È possibile utilizzarefind
con l'-ls
opzione, ad es.find . -name \*.pdf -ls