Antworten:
Warum kann ich mit einem solchen Befehl nicht alle PDF-Dateien in einem Verzeichnis und in Unterverzeichnissen finden?
Der Platzhalter *.pdfin Ihrem Befehl wird vor der Ausführung bashum alle übereinstimmenden Dateien im aktuellen Verzeichnis erweitert .ls
Wie mache ich es? (Ich benutze Bash in Ubuntu)
find ist deine antwort.
find . -name \*.pdf
ist eine rekursive Auflistung von PDF-Dateien. -inameIst die Groß- / Kleinschreibung nicht relevant?
find . -iname \*.pdf
listet alle .pdf-Dateien auf, einschließlich zum Beispiel foo.PDF
Sie können ls beispielsweise auch für eine begrenzte Anzahl von Unterordnern verwenden
ls *.pdf */*.pdf
Alle PDF-Dateien in Unterordnern finden (entspricht bar / foo.pdf, nicht bar / foo / asdf.pdf und nicht foo.PDF).
Wenn Sie mit find gefundene Dateien entfernen möchten, können Sie verwenden
find . -iname \*.pdf -delete
Wie andere gesagt haben, ist finden die Antwort.
Nun zum anderen Teil.
Wie würde ich dann vorgehen, um alle diese Dateien zu löschen?
finden . -iname * .pdf -exec rm {} \;
Sollte es tun.
ls -lBefehl, Dateigröße zeigen, Eigentum, Datum, etc., können Siefindmit der-lsOption, zBfind . -name \*.pdf -ls