buscar comando que proporcione diferentes resultados con/sin -print

buscar comando que proporcione diferentes resultados con/sin -print
find src/ -name "*.cc" -o -name "*.cpp" -print
find src/ -name "*.cc" -o -name "*.cpp"

El comportamiento previsto es buscar todos los archivos C++ en un directorio y todos sus subdirectorios. Según tengo entendido, el comando -print era el predeterminado. Sin embargo, estos dos comandos me dan resultados significativamente diferentes. Si los redirijo a un archivo ( printedy notprinted, respectivamente):

$ wc -l printed notprinted
1813 printed
1979 notprinted

Diferenciar cada archivo ordenado no me ayuda mucho. No existe un patrón claro para lo que se excluye printed.

¿Que está pasando aqui?

Respuesta1

La respuesta es la precedencia. Si no se proporciona ninguna acción, se imprime, pero si especifica una acción, hace lo que solicitó. Su ejemplo -printsolo imprime .cpparchivos. Probablemente quieras:

find src/ \( -name "*.cc" -o -name "*.cpp" \) -print

Puede tener múltiples condiciones con diferentes acciones.

información relacionada