Tree so einrichten, dass nur Dateien aufgelistet werden, die einem Muster entsprechen, und die Verzeichnisse, in denen sie enthalten sind

Tree so einrichten, dass nur Dateien aufgelistet werden, die einem Muster entsprechen, und die Verzeichnisse, in denen sie enthalten sind

Gibt es eine Möglichkeit, das Programm treeso einzurichten, dass bei Ausführung mit dieser -POption keine Verzeichnisse ausgegeben werden, in denen sich nicht irgendwo Dateien befinden, die dem Muster entsprechen?

Nehmen Sie als Beispiel diese Verzeichnisstruktur:

${DIRECTORY}/
 runtime/
  runtime_library.so
  runtime_library.a
 my_libraries/
  drawing/
   drawing.so
  basic_functions/
   basic.a
 documents/
  manual.txt
 empty/

Ich möchte treeFolgendes ausgeben:

${DIRECTORY}/
 my_libraries/
  basic_functions/
   basic.a
 runtime/
  runtime_library.a

Antwort1

Ich vermute, Sie möchten nur Verzeichnisse, die einem bestimmten Muster entsprechen, also benötigen Sie die -POption, d. h.

tree -P "*.a" --prune

Das obige gibt alle Verzeichnisse zurück, die Dateien mit der Erweiterung enthalten .a.Manpage vontreekann Ihnen weiterhelfen. Um beispielsweise ein Muster zu ignorieren, können Sie die Option verwenden -I.

Die --pruneOption unterdrückt die Ausgabe von Abschnitten des Baums, in denen Verzeichnisse keine Dateien enthalten, die dem Muster entsprechen.

verwandte Informationen