Me gustaría encontrar archivos fuente (* .c, * .cpp, * .h) que contengan en Linux / MinGW / Cygwin, y de forma recursiva en todos los subdirectorios.
Mi idea básica es usar findy grep. Sin embargo, construir una expresión regular que pueda verificar el nombre de archivo dado es * .c, * .cpp o * .h no es fácil. ¿Podrías ayudarme?

$al final del comando?foo.cpp.oldpor ejemplo).Yo usaría:
fuente
-Eno puede encontrar nada. Es posible que necesite agregar un -E (como extendido) para hacerlo más portátil, al igual quefind -E . -regex '.*\.(c|h|cpp)' -print. ;-)Rápido y sucio, y evita los nombres de directorio:
fuente
*.cpparchivos. 2. Encontrará*.|archivos. 3. El globo se expandirá si hay archivos coincidentes en el directorio actual. Citar lo impide.Puedes usar una expresión regular un poco más simple:
fuente
Yo uso un Mac Pro que también funciona en bash. Pero cada vez que escribo en la línea de comando:
Dice opción ilegal. Entonces lo simplifiqué como:
y encontré que realmente funcionó!
fuente