grepで複数の除外条件を指定する方法です。
※MACターミナル(BSD系)での動作確認です。

スポンサーリンク

-vオプションと-eオプションで複数の除外条件を指定

-vオプションを指定して除外します。
また、-eオプションを指定することで、複数の除外条件を指定できます。

例えば、下記のsample.txtがあったとします。

$ cat sample.txt
awk
sed
find
cut
bash

-eオプションで、awkとfinとcutの行を除外しました。
下記が実行結果になります。

$ grep -v -e "awk" -e "fin" -e "cut" sample.txt 
sed
bash

スポンサーリンク

-vオプションと-fオプションで複数の除外条件を指定

-fオプションでファイル入力し、複数の除外条件を指定する方法もあります。

例えば、awkとfinとcutの行を除外する場合、
下記のように、一行づつawkとfinとcutを書いていきます。

$ cat in.txt 
awk
fin
cut

-fオプションで、in.txtを除外条件として指定します。
下記が実行結果になります。

$ grep -v -f in.txt sample.txt 
sed
bash

ワンライナーで書く場合は-eオプションで、
除外条件が多数ある場合は、ファイル入力の方が便利だと思っています。

スポンサーリンク