表題の通り。タブ(\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とする。
以上。