Ubuntu findet Dateien und Verzeichnisse mit übereinstimmendem Namen in einer Zeile

Ubuntu findet Dateien und Verzeichnisse mit übereinstimmendem Namen in einer Zeile

Es gibt Befehlsparameter findzum Suchen von Dateien bzw. Verzeichnissen -fund -d, aber ich möchte vermeiden, zwei findBefehle und &&oder ||dazwischen zu schreiben.

Ich möchte mit einem Befehl eine Datei oder ein Verzeichnis (je nachdem, was bedingt gefunden wird) finden. Kann -ddies mit -fODER verknüpft werden?

Antwort1

Nutzen Sie die -oOption.

Von demfindenManpage (unter der Überschrift OPERATORS):

   expr1 -o expr2
          Or; expr2 is not evaluated if expr1 is true.

Antwort2

-fWenn Sie weder noch angeben -d, findzeigt Ihnen mit alle Inode-Typen (Dateien, Verzeichnisse, Geräte, Links usw.) an. Wenn Sie nur Dateien und Verzeichnisse möchten, verwenden Sie -ound ggf. Escape-Klammern, wenn Sie andere Arten von Bedingungen verwenden möchten.

Beispielsweise alle Dateien, Verzeichnisse, Links usw.... die in den letzten 2 Tagen geändert/erstellt wurden:

find . -iname '*blah*' -mtime -2

Wie oben, aber ausschließlich Dateien und Verzeichnisse (keine symbolischen Links, Geräte …)

find . -iname '*blah*' \( -type d -o -type f \) -mtime -2

verwandte Informationen