Risposte:
Perché non posso usare un comando come questo per trovare tutti i file pdf in una directory e sottodirectory?
Il carattere jolly *.pdfnel comando viene espanso da bashtutti 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 -lcomando, che mostri le dimensioni del file, la proprietà, la data, ecc., È possibile utilizzarefindcon l'-lsopzione, ad es.find . -name \*.pdf -ls