Je veux trouver tous les *.h
,*.cpp
fichiers dans des dossiers avec un masque défini, comme */trunk/src*
. Ainsi, je peux trouver séparément *.h
et *.cpp
fichiers :
find . -path "*/trunk/src/*.h"
find . -path "*/trunk/src/*.cpp"
Quelle est la meilleure façon d'obtenir la liste de fichiers des deux types (*.h
et *.cpp
) ?
PS Je voudrais diriger la liste vers grep
.
Réponse acceptée :
Vous pouvez utiliser -o
pour "ou" :
find . -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp'
qui est identique à
find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' )
Si vous souhaitez exécuter grep sur ces fichiers :
find . ( -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp' ) -exec grep PATTERN {} +
ou
find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' ) -exec grep PATTERN {} +