アメリエフの技術ブログ

Amelieff Staff Blog

grepを数えるオプション

特定の文字列を含む行を抜き出す便利なコマンドgrep。
最近便利に使っているオプションをご紹介します。

それは grep -c
grepコマンドで取得できた行数を出力してくれるオプションです。cはcountのcと覚えています。
これを知らなかったときは、grepコマンドの結果をwcコマンドで数えていましたが、-cオプションの方が便利です。

例として下記のようなVCFファイル sample.vcfがあったとします。

f:id:kubo-m:20190723203520p:plain


ヘッダ行を除いたデータ行の出力コマンドは以下になります。
$ grep -v "^#" sample.vcf

f:id:kubo-m:20190723203841p:plain


※ -v は指定文字列を除いた行を出力するオプション、^は行頭を示す記号です。

データ行を数えるときは以下のコマンドです。
$ grep -c -v "^#" sample.vcf
3

ちなみにこのオプションを知らなかったときは、こう数えていました。もちろん結果は同じですよ。
$ grep -v "^#" sample.vcf | wc -l
3