Respuestas:
¿Por qué no puedo usar un comando como este para encontrar todos los archivos pdf en un directorio y subdirectorios?
El comodín *.pdfen su comando se expande basha todos los archivos coincidentes en el directorio actual, antes de ejecutarse ls.
¿Cómo lo hago? (Estoy usando bash en ubuntu)
encontrar es tu respuesta.
find . -name \*.pdf
es una lista recursiva de archivos pdf. -inamees una coincidencia entre mayúsculas y minúsculas, así que
find . -iname \*.pdf
enumera todos los archivos .pdf, incluidos, por ejemplo, foo.PDF
Además, puede usar ls para un número limitado de subcarpetas, por ejemplo
ls *.pdf */*.pdf
para encontrar todos los archivos pdf en subcarpetas (coincide con bar / foo.pdf, no con bar / foo / asdf.pdf y no con foo.PDF).
Si desea eliminar los archivos encontrados con find, puede usar
find . -iname \*.pdf -delete
Como otros han dicho, encontrar es la respuesta.
Ahora para responder a la otra parte.
¿Cómo haría para eliminar todos estos archivos?
encontrar . -iname * .pdf -exec rm {} \;
Deberías hacerlo.
ls -lcomando, que muestre el tamaño del archivo, la propiedad, la fecha, etc., puede usarfindcon la-lsopción, por ejemplofind . -name \*.pdf -ls