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でグルグルまわすような処理の時空白が入ってるとクラッシュするケースもあります。
そういう場合は先にこういった方法で洗浄しておくといいでしょう。
参考もと
- man grep