タブをgrep

表題の通り。タブ(\t)を含む文字列を`grep`したいのだが少し嵌ってしまったのでメモ。

■ 環境

  • Linux

■ 対象

対象のファイルはLTSV形式で出力されているログである。タブ区切りなのであるが、検索したい文字列が複数箇所で使用されている。例として下記のような感じである。内容は適当である。

xxx:aaaaa    status:200    change_status:101    update_status:200
xxx:aaaaa    status:201    change_status:101    update_status:200

この中で”status:200“だけを含む行を`grep`したいのだが、単純に”status:200”で`grep`を実行すると”update_status:200“の場合も該当してしまう。よって前の”\tstatus:200“で実行できないかと思ったのだが、単純に実行すると取得できない。

下記の様にすると取得できた。

$ grep $'\t'"status:200" test.log

少々面倒ではあるが、欲しい情報が取得できたのでこれでOKとする。

以上。