回答:
さまざまな検索式を論理演算子-or
またはと組み合わせ-and
て、ケースを次のように書くことができます。
find . -type f \( -name "*.shtml" -or -name "*.css" \)
これは、引用符を使用するときに特殊なシェル文字をエスケープする必要がないことも示しています。
編集
それ-or
は、Chrisが示唆するように、暗黙の-and
間にあるよりも優先順位が低く-type
、最初の-name
名前部分を括弧に入れるためです。
). Second, the parentheses need to go around whole ‘primaries’ (the open parenthesis needs to be before
-name` と同じであり、 'オペランド'との間ではありません)。
最初のバージョンを実行する1つの方法を次に示します。
find -type f -regex ".*/.*\.\(shtml\|css\)"
私はしばしばegrep、長いパイプ、またはさらに複雑なフィルター用のperlを使用することになります。
find . -type f | egrep '\.(shtml|css)$'
find . -type f | perl -lne '/\.shtml|\.css|page\d+\.html$/ and print'
それはやや効率が悪いかもしれませんが、それは通常懸念ではなく、より複雑なものについては通常、構築と変更が簡単です。
奇妙なファイル名のファイル(改行を含むなど)にこれを使用しないことについては、標準的な警告が適用されます。