Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

grepの-vオプションは、一致した条件をけす

grepのvオプションは、

-v, --invert-match
Selected lines are those not matching any of the specified pat-
terns.

と、「一致した行以外を表示する」とかいう難儀な挙動をとります。

実際のところ

$ cat data 
hoge 42.3565

piyo 52.2876
fuga 38.9524


ll

なんてデータがあったとします。
明らかに空白行が邪魔ですね。
ここで表題の-vオプションを使ってあげると

$ cat data | grep -v "^$"
hoge 42.3565
piyo 52.2876
fuga 38.9524
ll

と、綺麗にできます。
sedでグルグルまわすような処理の時空白が入ってるとクラッシュするケースもあります。
そういう場合は先にこういった方法で洗浄しておくといいでしょう。

参考もと