GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Suchen Sie rekursiv nach Dateien mit einer bestimmten Erweiterung

Mit find ist -regex Argument:

find . -regex '.*/Robert\.\(h\|cpp\)$'

Oder verwenden Sie einfach -name :

find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)

find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)

Die -o steht für OR Bedingung und Sie können innerhalb der geschweiften Klammern so viele hinzufügen, wie Sie möchten. Das bedeutet also, alle Dateien zu finden, die das Wort "Robert" irgendwo in ihrem Namen enthalten und deren Namen entweder auf "pdf" oder "jpg" enden.


Als Alternative zur Verwendung von -regex Option auf find , da die Frage mit bash gekennzeichnet ist, können Sie den geschweiften Erweiterungsmechanismus verwenden:

eval find . -false "-o -name Robert".{jpg,pdf}

Meine Präferenz:

find . -name '*.jpg' -o -name '*.png' -print | grep Robert

Linux
  1. Sortieren Sie Dateien in einem bestimmten Ordner mit Ranger?

  2. Größte Dateien rekursiv finden?

  3. Wie verstecke ich Dateien mit einer bestimmten Erweiterung?

  4. So finden Sie rekursiv alle Dateien mit einer Dateigröße von Null (0) Bytes in einem Verzeichnis

  5. Linux / UNIX :Beispiele für den Find-Befehl zum Suchen von Dateien mit bestimmten Berechtigungen

Linux-Suchbefehl mit praktischen Beispielen

Finden Sie verlorene Dateien mit Scalpel

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

So schließen Sie bestimmte Dateierweiterungen beim rekursiven Kopieren von Dateien aus

Suchen und Löschen von Dateien mit einem bestimmten Datum