Utilizzando find è -regex argomento:
find . -regex '.*/Robert\.\(h\|cpp\)$'
O semplicemente usando -name :
find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)
find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)
Il -o rappresenta un OR condizione e puoi aggiungerne quanti ne desideri all'interno delle parentesi graffe. Quindi questo dice di trovare tutti i file che contengono la parola "Robert" ovunque nei loro nomi e i cui nomi terminano in "pdf" o "jpg".
In alternativa all'utilizzo di -regex opzione su find , poiché la domanda è etichettata bash, puoi utilizzare il meccanismo di espansione delle parentesi graffe:
eval find . -false "-o -name Robert".{jpg,pdf}
La mia preferenza:
find . -name '*.jpg' -o -name '*.png' -print | grep Robert