grep
grep(グレップ、グレプ)は、UNIXおよびUnixオペレーティングシステムにおけるコマンドであり、テキストファイルなどプレーンテキスト形式のデータから、指定した正規表現に一致する特定の文字列を含む行を検索して標準出力に書き出す。
概要
編集基本構文
編集オブション
編集オプションには次のようなものがある:
-E: 拡張正規表現を使用する。egrepコマンドと同じ動作をする。-F: 正規表現ではなくリテラルを使用する。fgrepコマンドと同じ動作をする。
-i: アルファベットの大文字小文字の区別をしない。-o: パターンに一致した箇所のみ出力する。-v: パターンに一致しない行を出力する。-r: 指定したディレクトリおよびその下位ディレクトリ内の全てのファイルを検索する。(「r」はread recursively(再帰的に読む)の略だとも) 次のような構文で使う。
grep -r パターン 検索ディレクトリ
検索ディレクトリ(検索対象ディレクトリ)は相対パスでも絶対パスでも指定できる。たとえば「.」(ドット)と書けば、カレントディレクトリおよびその下位ディレクトリから検索する。
-c: 行をそのまま出力するのではなく、パターンに一致した行数のみ出力する。(「c」はcount(カウント。数える)の頭文字)
AND検索やOR検索の場合
編集- AND条件
複数のパターンをAND条件で、すなわち同時に含む行を検索したい場合、パイプ(|)を使いgrepコマンドを連続させる方法がある。
たとえば「abc」という文字列および「xyz」という文字列の両方を含む行を検索したい場合は次のように書く方法がある。
grep abc example.txt | grep xyz
- OR条件
複数のパターンをOR条件で、すなわちどちらかのパターンを含む行を検索したい場合はオプション「-e」を使えば良い。たとえば「abc」あるいは「xyz」のどちらかを含む行を検索する場合は次のように書ける。
grep -e abc -e xyz example.txt
移植
編集テキストから文字列を検索するプログラムとして、Microsoft Windows 用に、有志により、grepWin[5]としてGUI付きで移植された。
参考文献
編集- Brian W. Kerninghan、ロブ・パイク『UNIXプログラミング環境』野中浩一訳、石田晴久監訳、アスキー出版局〈ASCII海外ブックス〉、1986年6月。ISBN 4-87148-351-7。
脚注
編集- ↑ 英: search globally in the file / each lines to which the regular expression matches / print them
- ↑ 英: fixed grep または fast grep
- ↑ 英: extended grep
- ↑ Linux Standard Base https://refspecs.linuxfoundation.org/lsb.shtml
- ↑ https://github.com/stefankueng/grepWin