Quiero encontrar todos los *.h ,*.cpp archivos en carpetas con máscara definida, como */trunk/src* . Entonces, puedo encontrar por separado *.h y *.cpp archivos:
find . -path "*/trunk/src/*.h"
find . -path "*/trunk/src/*.cpp"
¿Cuál es la mejor manera de obtener la lista de archivos de ambos tipos (*.h y *.cpp )?
PD:me gustaría canalizar la lista a grep .
Respuesta aceptada:
Puedes usar -o para “o”:
find . -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp'
que es lo mismo que
find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' )
Si desea ejecutar grep en estos archivos:
find . ( -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp' ) -exec grep PATTERN {} +
o
find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' ) -exec grep PATTERN {} +