GNU grep

GNU grep

私はファイルのどこにでも(近くにはありませんが)2つの文字列、つまり各文字列のセクション全体を見つけるための正しい構文を見つけようとしています。したがって、foo数字と数字の両方を含むファイルは単独321で存在する必要はなく、部分文字列にすることができ、一致する必要があります。私は運なく次を試しました。

grep 'foo\|321' *

grep 'foo|321'

ベストアンサー1

GNU grep

grep2番目のファイルはファイルリストで機能するため、少し早くする必要があります。

grep -lZ 'foo' * | xargs -0 grep -l '321'

POSIX grepと検索

find再帰ディレクトリを検索したい場合はさらに便利です(この場合と-mindepthオプション-maxdepthがありません。

find . -mindepth 1 -maxdepth 1 -type f -exec grep -q 'foo' {} \; -exec grep -l '321' {} +

おすすめ記事