grepメモ 2
grepの便利そうなオプションをメモっておきま〜す。
使うテキスト
こんなん。
% cat book.txt プログラミング言語awk Linux コマンドポケットリファレンス Vi IMproved-Vim Fedora Core6 ビギナーズバイブル BINARY HACKS ふつうのLinuxプログラミング
ふつうにgrep
% grep Linux book.txt # ファイル名で指定 % cat book.txt | grep Linux # catでパイプ % grep Linux < book.txt # リダイレクト % < book.txt | grep Linux # zshのリダイレクト
こんな感じ。気分で変える。
行番号付きで再帰的にgrep
よく使う。
% grep Linux -rn . ./book.txt:2:Linux コマンドポケットリファレンス ./book.txt:6:ふつうのLinuxプログラミング
エディタから検索するときは使える。
マッチした所のみ
% grep -o Linux book.txt Linux Linux
大文字小文字を区別しない
% grep -i linux | book.txt Linux コマンドポケットリファレンス ふつうのLinuxプログラミング
マッチしなかった行
逆にぃ〜
% grep -v Linux book.txt プログラミング言語awk Vi IMproved-Vim Fedora Core6 ビギナーズバイブル BINARY HACKS
word
% grep -w Linux book.txt Linux コマンドポケットリファレンス
どうやら、空白区切りらしい。
まとめ
-n 行番号付きで -r 再帰的に -H ファイル名付き -i 大文字小文字を区別しない -o マッチしたところのみ -v マッチしなかった行
その他に・・・。
grep -E, egrep 拡張正規表現で grep -P perl正規表現で pgrep プロセスのgrep
参考,発展など
grep便利ですね。修行あるのみ・・・。
追記
- pgrepの記述に誤りがありました。直そうと思いつつ忘れてた(汗
- 一般的な表記に直した。