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 {} +