Usando find
de -regex
argumento:
find . -regex '.*/Robert\.\(h\|cpp\)$'
O simplemente usando -name
:
find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)
find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)
El -o
representa un OR
condición y puede agregar tantos como desee dentro de las llaves. Así que esto dice que busque todos los archivos que contengan la palabra "Robert" en cualquier parte de sus nombres y cuyos nombres terminen en "pdf" o "jpg".
Como alternativa al uso de -regex
opción en find
, dado que la pregunta está etiquetada como bash, puede usar el mecanismo de expansión de llaves:
eval find . -false "-o -name Robert".{jpg,pdf}
Mi preferencia:
find . -name '*.jpg' -o -name '*.png' -print | grep Robert