Dlaczego nie mogę użyć takiego polecenia, aby znaleźć wszystkie pliki pdf w katalogu i podkatalogach? Jak mam to zrobić? (Używam bash w Ubuntu)
ls -R *.pdf
EDYTOWAĆ
Jak w takim razie mógłbym usunąć wszystkie te pliki?
Dlaczego nie mogę użyć takiego polecenia, aby znaleźć wszystkie pliki pdf w katalogu i podkatalogach?
Symbol wieloznaczny *.pdf
w poleceniu jest rozszerzany o bash
wszystkie pasujące pliki w bieżącym katalogu przed wykonaniem ls
.
Jak mam to zrobić? (Używam bash w Ubuntu)
znajdź to twoja odpowiedź.
find . -name \*.pdf
to rekursywna lista plików pdf. -iname
jest dopasowanie bez rozróżniania wielkości liter, więc
find . -iname \*.pdf
wyświetla wszystkie pliki .pdf, w tym na przykład foo.PDF
Możesz także użyć ls na przykład do ograniczonej liczby podfolderów
ls *.pdf */*.pdf
znaleźć wszystkie pliki pdf w podfolderach (pasuje do bar / foo.pdf, nie do bar / foo / asdf.pdf i nie do foo.PDF).
Jeśli chcesz usunąć pliki znalezione przy pomocy find, możesz użyć
find . -iname \*.pdf -delete
ls -l
polecenia, pokazujące rozmiar pliku, własność, datę itp., Możesz użyćfind
z-ls
opcją, np.find . -name \*.pdf -ls
Jak powiedzieli inni, odpowiedź jest odpowiedzią.
Teraz, aby odpowiedzieć na drugą część.
Jak w takim razie mógłbym usunąć wszystkie te pliki?
odnaleźć . -iname * .pdf -exec rm {} \;
Powinien to zrobić.
źródło
Użyj find zamiast ls
źródło