Pomocí find
's -regex
argument:
find . -regex '.*/Robert\.\(h\|cpp\)$'
Nebo stačí použít -name
:
find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)
find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)
-o
představuje OR
stavu a v rámci rovnátek můžete přidat libovolný počet. Takže to říká, že se mají najít všechny soubory obsahující slovo „Robert“ kdekoli ve svém názvu a jejichž názvy končí buď „pdf“ nebo „jpg“.
Jako alternativa k použití -regex
možnost na find
, protože otázka je označena jako bash, můžete použít mechanismus roztažení výztuhy:
eval find . -false "-o -name Robert".{jpg,pdf}
Moje preference:
find . -name '*.jpg' -o -name '*.png' -print | grep Robert