複数のパターン (基本的には AND) を検索する UNIX コマンドが必要ですが、それらのパターンが同じ行にある必要はありません (それ以外の場合はgrep
AND コマンドを使用できます)。たとえば、次のようなファイルがあるとします。
This is first line.
This is second line.
This is last line.
「最初」と「最後」という単語を検索すると、上記のファイルが結果に含まれるはずです。
この質問を試してみてください。解決策がたくさんあるあなたのものと同じようです。grepを使用して複数の行にまたがるパターンを見つける方法は?
AND の代わりに、実際には OR を意味していると思います。
grep 'first\|last' file.txt
結果:
This is first line.
This is last line.
多数のパターンがある場合は、それらをファイルに追加します。たとえば、patterns.txt
次が含まれている場合:
first
last
走る:
grep -f patterns.txt file.txt