Könnten Sie mir bitte ein Beispiel für die Verwendung des Befehls tree geben, um das Ergebnis wie folgt herauszufiltern:
- Verzeichnisse zu ignorieren (sagen wir
bin
,unitTest
) - nur die Auflistung bestimmter Dateien Erweiterungen mit (sagen wir
.cpp
,.c
,.hpp
,.h
) - Angabe der vollständigen Pfadnamen nur der resultierenden Dateien, die den Kriterien entsprechen.
tree
command-switch
Linda
quelle
quelle
-I bin
nicht-I bin/
.sed: illegal option -- I
Mit dem Befehl use
find
undtree
use find können Sie Suchverzeichnisseprune
ausschließen undtree -P
das Muster durchsuchen.Verwenden Sie die Bereinigungsoption, wenn Sie beispielsweise das
misc
Verzeichnis ausschließen möchten, fügen Sie-path ./misc -prune -o
Ihrem Suchbefehl einfach ein hinzu .für zB.
find . -path ./misc -prune -o -exec tree -P <pattern> {} \;
oder Sie können verwenden-name "*.cpp" in find
zum ausschluss mehrerer verzeichnisse verwenden
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
quelle
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
oderfind . -path ./misc -prune -o -exec tree -P *.cpp {} \;
Die wahre Lösung besteht darin, vollständige Pfade auszugeben, unerwünschte Pfade herauszufiltern und schließlich die Ausgaben zu korrigieren.
Wenn alle Dateien in der Ausgabe benötigt werden, entfernen Sie den Parameter "d".
Eine ausführliche Erklärung finden Sie unter: http://qaon.net/press/archives/572, wenn Sie Japanisch verstehen.
quelle