Почему я не могу использовать такую команду, чтобы найти все PDF-файлы в каталоге и подкаталогах? Как это сделать? (Я использую Bash в Ubuntu)
ls -R *.pdf
РЕДАКТИРОВАТЬ
Как мне тогда удалить все эти файлы?
Почему я не могу использовать такую команду, чтобы найти все PDF-файлы в каталоге и подкаталогах?
Подстановочный знак *.pdf
в вашей команде раскрывается bash
до всех соответствующих файлов в текущем каталоге перед выполнением ls
.
Как это сделать? (Я использую Bash в Ubuntu)
найди твой ответ.
find . -name \*.pdf
это рекурсивный список файлов PDF. -iname
совпадение без учета регистра, так
find . -iname \*.pdf
перечисляет все файлы .pdf, включая, например, foo.PDF
Также вы можете использовать ls для ограниченного числа подпапок, например
ls *.pdf */*.pdf
найти все PDF-файлы в подпапках (соответствует bar / foo.pdf, а не bar / foo / asdf.pdf и не foo.PDF).
Если вы хотите удалить файлы, найденные с помощью find, вы можете использовать
find . -iname \*.pdf -delete
ls -l
команду, с указанием размера файла, владельца, даты и т. Д., Вы можете использоватьfind
эту-ls
опцию, например,find . -name \*.pdf -ls
Как уже говорили другие, найти ответ.
Теперь ответим на другую часть.
Как мне тогда удалить все эти файлы?
находить . -имя * .pdf -exec rm {} \;
Должен сделать это.
источник
Используйте find вместо ls
источник