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

スポンサーリンク