« 拡張子を一括で変換 | トップページ | キャリア設計のアジャイル化 »

2015.02.28

grepでOR条件

テキストやコンソールからの各種出力をフィルタリングするうえでgrepコマンドは欠かせない作業のお供であろう。
ごく簡単に特定のキーワードを抽出するだけでも重宝するが、いくつかのオプションを使うとより便利である。で、今回はOR条件での抽出。

あるファイルから複数のキーワードのどちらかを含む行を抽出する。

hogehoge@hoge:grep -e hoge -e fuga honyarara.txt

-eオプションの後にキーワードを入れることで実現可能である。
あるコマンドの出力結果において、ヘッダ+明細行のような出力をするものが相手の場合
hogehoge@hoge:command | grep -e header_constant -e keyword

のような形で、ヘッダと検索したいキーワードを含む出力結果だけを取得することができる。
csvファイルなどでヘッダ+明細のようなケースでも有効な方法だろう。

grep "xxxx\|yyyy"
のように"\|"をはさむことでOR検索が可能になるはずなのだが、grepのバージョンによってはワークしない。Redhat 4.1に入ってるgrepでは有効だったがAIX5.3上では"\|"は稼動しなかった(^^;

いずれにせよ処理系によって有効なオプションは異なるので、利用時には仕様を確認してから使いたいものである。

|

« 拡張子を一括で変換 | トップページ | キャリア設計のアジャイル化 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/61192650

この記事へのトラックバック一覧です: grepでOR条件:

« 拡張子を一括で変換 | トップページ | キャリア設計のアジャイル化 »