find-grepで複数のファイル名条件を指定する方法
まずよく使うfind-grepは
find . -name "*.txt" -exec grep -i "pattern"
ここで、*.txtだけでなく*.htmlというファイルも検索対象としたい場合に
find . -name "*.txt" -o -name "*.html" -exec grep -i "pattern"
と単純に-oでつなげてもしてもなんのこっちゃエラーが発生してしまいます。
以下のようにすることで実行可能です。
find . \( -name "*.txt" -o -name "*.html" \) -exec grep -i "pattern" {} /dev/null \;
\(と\)の前後には半角スペースが必要です。
末尾の
{} /dev/null \;
はおまじないとでも思っててください。