Mit find
ist -regex
Argument:
find . -regex '.*/Robert\.\(h\|cpp\)$'
Oder verwenden Sie einfach -name
:
find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)
find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)
Die -o
steht für OR
Bedingung und Sie können innerhalb der geschweiften Klammern so viele hinzufügen, wie Sie möchten. Das bedeutet also, alle Dateien zu finden, die das Wort "Robert" irgendwo in ihrem Namen enthalten und deren Namen entweder auf "pdf" oder "jpg" enden.
Als Alternative zur Verwendung von -regex
Option auf find
, da die Frage mit bash gekennzeichnet ist, können Sie den geschweiften Erweiterungsmechanismus verwenden:
eval find . -false "-o -name Robert".{jpg,pdf}
Meine Präferenz:
find . -name '*.jpg' -o -name '*.png' -print | grep Robert