grepの検索文字列が多数となった場合には、検索文字列をファイルでリスト化すると後々の管理も楽です。
スポンサーリンク
パターンを改行区切りでリスト化
"find"と"sed"を検索文字列としたい場合には、改行区切りで下記のようにリスト化します。
grepで-fオプションを指定した時の入力ファイルになります。
ファイルで検索文字列を管理できるのでとても便利だと思います。
下記のファイルは、2行のみですが、検索文字列が増えるにつれて、便利さが実感できます。
$ cat pattern.txt find sed
スポンサーリンク
リスト化したファイルをgrepの-fオプションで入力
そして、リスト化したパターンファイルをgrep時に使う場合、下記の形式で実行します。
grep -f パターンファイル 検索対象ファイル
実行結果
下記のように、in.txtがあったとします。
$ cat in.txt linefind lineawk linesed linegrep line3
パターンファイルを下記のように作成します。
$ cat pattern.txt find sed
下記が実行結果となります。パターンファイルで指定した文字列を含む行が、検索されていることが確認できます。
$ grep -f pattern.txt in.txt linefind linesed
スポンサーリンク