grep(グレップ、グレプ)は、UNIXおよびUnixオペレーティングシステムにおけるコマンド。テキストファイル中から、正規表現に一致する行を検索して出力する。

概要

編集

grep の名の由来は、ラインエディタedのコマンド g/re/p である。その意味するところは「global regular expression print(ファイル全体から/正規表現に一致する行を/表示する)」で略号になっている[1]

姉妹コマンドとして、正規表現ではなくリテラル(即値文字列)のみを扱う高速な fgrep[2]、拡張正規表現が使える egrep[3] がある。POSIX では fgrepegrep を旧形式としていて、それぞれ grep -Fgrep -E を使うことを標準としている。Linux Standard Baseでも指定コマンドになっている[4]

使用法

編集

grep コマンドの基本的な使い方は

grep オプション パターン ファイル

である。

ファイルは複数指定することができ、また省略して標準入力から検索することもできる。

オプションには次のようなものがある:

  • -i : アルファベットの大文字小文字の区別をしない。
  • -o:パターンに一致した箇所のみ出力する。
  • -v : パターンに一致しない行を出力する。
  • -r : ファイルとしてディレクトリを指定し、その中の全てのファイルと、再帰的に下位ディレクトリに対して検索する。
  • -q:何も出力しない。
  • -E : 拡張正規表現を使用する。egrep コマンドと同じ動作をする。
  • -F : 正規表現ではなくリテラルを使用する。fgrep コマンドと同じ動作をする。

移植

編集

テキストから文字列を検索するプログラムとして、有志により、 Microsoft Windows 用にgrepWin[5]としてGUI付きで移植されている。

参考文献

編集
  • Brian W. Kerninghanロブ・パイク『UNIXプログラミング環境』野中浩一訳、石田晴久監訳、アスキー出版局〈ASCII海外ブックス〉、1986年6月。ISBN 4-87148-351-7 

脚注

編集
  1. ^ : search globally in the file / each lines to which the regular expression matches / print them
  2. ^ : fixed grep または fast grep
  3. ^ : extended grep
  4. ^ Linux Standard Base https://refspecs.linuxfoundation.org/lsb.shtml
  5. ^ https://github.com/stefankueng/grepWin

関連項目

編集

外部リンク

編集
  • GNU grep(英語)
  • grep(1) - Linux JMプロジェクトによる日本語のマニュアルページ
  • grep(1) - man pageSunOS リファレンス・マニュアル)
  • grep(1) - man page(HP-UX リファレンス)
  NODES