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

Äquivalente Maxdepth für Find in Aix?

Ich versuche, alle Dateien per Maske in einem Verzeichnis abzurufen, ohne rekursiv in Unterverzeichnissen zu suchen. Es gibt keine Option -maxdepth 0 in AIX dafür.

Ich habe von -prune gehört , kann aber immer noch nicht verstehen, wie es funktioniert.

Ich denke, der Befehl sollte in etwa so aussehen

find dir \( ! -name dir -prune -type f \) -a -name filemask

aber es funktioniert nicht.

Könnten Sie mir bitte einen korrekten Befehl schreiben und erklären, wie er funktioniert?

UPD

Es scheint Befehl

find dir ! -path dir -prune

druckt alle Dateien und Kataloge in dir , aber keine Dateien und Kataloge in dir/* , damit ich es für meinen Fall verwenden kann.

Akzeptierte Antwort:

Sie möchten:

find dir/. ! -name . -prune -type f -name filemask

Oder:

find dir ! -path dir -prune -type f -name filemask

Um die regulären Dateien namens filemask zu finden in dir ohne in Unterverzeichnissen von dir zu suchen .

Mit find dir ! -name dir -prune , hätten Sie Probleme, wenn es ein dir/dir gäbe Verzeichnis.

Das dir/. Ansatz umgeht das, weil find findet keine andere Datei namens . als das dir/. Datei als Argument übergeben.

Der -path Der Ansatz umgeht dies, indem er sich den Dateipfad der Dateien ansieht (im Gegensatz zu nur dem Namen), -path dir stimmt mit dir überein , aber nicht auf dir/dir (also dir wird das einzige Verzeichnis sein, das nicht gelöscht wird). -path ist jedoch möglicherweise nicht in älteren Versionen von AIX verfügbar.

Allgemeiner gesagt, für das Standardäquivalent von GNUs -maxdepth n , siehe POSIX-Suche auf bestimmte Tiefe beschränken?


Linux
  1. So suchen Sie in der Konsole nach großen Dateien

  2. Linux:So finden Sie den für ein Gerät verwendeten Gerätetreiber

  3. Finden Sie die beste Schriftart zum Rendern eines Codepoints?

  4. Warum akzeptiert Find „-exec Cp {} Dir +“ nicht?

  5. Wie finde ich das Kernel-Modul für ein bestimmtes Gerät?

Linux-dir-Befehl für Anfänger (10 Beispiele)

Finden Sie heraus, ob ein Paket für Ihre Linux-Distribution verfügbar ist

Keine Manpage für den cd-Befehl

Irfanview das nächste Äquivalent für Linux

Äquivalent/Alternativen für Alt+Punkt in Mac

Entspricht dem Unix-Suchbefehl unter Windows