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

Liste aller Dateien nach Maske im Terminal abrufen?

Ich möchte alle *.h finden ,*.cpp Dateien in Ordnern mit definierter Maske, wie */trunk/src* . So kann ich separat *.h finden und *.cpp Dateien:

find . -path "*/trunk/src/*.h"
find . -path "*/trunk/src/*.cpp" 

Was ist der beste Weg, um die Dateiliste beider Typen (*.h und *.cpp )?

PS Ich möchte die Liste an grep weiterleiten .

Akzeptierte Antwort:

Sie können -o verwenden für „oder“:

find . -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp'

was dasselbe ist wie

find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' )

Wenn Sie grep auf diesen Dateien ausführen möchten:

find . ( -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp' ) -exec grep PATTERN {} +

oder

find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' ) -exec grep PATTERN {} +

Linux
  1. Wie man alle Dateien und Verzeichnisse rekursiv auflistet

  2. So erhalten Sie alle Dateien, die eine bestimmte Größe überschreiten, und löschen sie

  3. Alle Dateien finden, deren Name eine Zeichenfolge enthält

  4. Befehl zum Auflisten aller Dateien außer . (Punkt) und .. (Punkt Punkt)

  5. Dateiliste von der Suche ausschließen

So finden Sie alle installierten Schriftarten in Linux

Wie listet man alle Dateien in Linux nach Größe sortiert auf?

Löschen Sie übereinstimmende Dateien in allen Unterverzeichnissen

listet/findet alle regulären Dateien in allen Unterverzeichnissen außer Binärdateien

Wie kann ich alle eindeutigen Dateien in zwei Verzeichnissen finden / auflisten?

Wie listet man alle Dateien einer Partition unter Linux auf?