grep
フロントエンド


このフロントエンドは、指定されたパターンを含む行を入力ファイルから探し出すgnu grepgobally regular expression print)プログラムを対象として作られたものです。このフロントエンドの「実行」ボタンは、入力と検索対象の両方が指定されたときに有効になります。

 

通常のウィンドウ

のメインダイアログから起動したときのウィンドウ

 

このGUIフロントエンドを使うためには、grepコマンド行ツールを入手する必要があります。gnuオリジナルのgrep.exeは、http://sources.redhat.com/cygwin/から入手できますが、http://www.vector.co.jp/soft/win95/util/se015011.htmlにはgnu grep 2.0に対して谷本孝浩氏がマルチバイト対応にして吉澤康介氏がMS-DOSからWin32に移植したバージョンがあります。

入力

マイコンピュータ、エクスプローラなどのウィンドウからファイルのアイコンをドラッグしてきてこのウィンドウにドロップすれば、そのファイルが入力ファイルとして使われます。

 

クリップボード  このチェックボックスをクリックすると、「入力ファイル」ダイアログボックスで指定された入力を使わず、クリップボードの内容を標準入力にリダイレクトします。

ファイル      このボタンをクリックすると、「入力ファイル」ダイアログボックスが表示されます。ファイルの順番を指定したいときや、ワイルドカードを使って複数のファイルをまとめて指定したい場合には、このダイアログボックスを使います。

 

入力の指定方法の詳細については、「入力の指定」を参照してください。

オプション

パターンの指定

grepプログラムを実行するためには、検索するパターンを指定しなければなりません。パターンは、コマンド行で直接指定するか、ファイルを使って指定します。複数のパターンを指定したり、両者を併用したりすることができます。

 

 

-e このオプションは、コマンド行でパターンを直接指定します。フロントエンドは、「追加」、「編集」、「除去」ボタンを使って複数のパターンを指定できるように作られています。「-e: パターン」が選択されている状態で「追加」を押すと、次のようなダイアログボックスが表示されます。

 

 

■■パターンを入力して「OK」ボタンを押すと、そのパターンがリストコントロール内に表示されます。

■■リストコントロール内のパターンを選択して「編集」ボタンを押すか、パターンをダブルクリックすると、先ほどと同じダイアログボックスが表示され、内容を編集できます。

■■リストコントロール内のパターンを選択して「除去」ボタンか[Delete]キーを押すと、リストコントロールからそのパターンを取り除くことができます。

 

-f 「-f: ファイル」が選択されている状態で「追加」を押すと、標準の「ファイルを開く」ダイアログボックスがオープンされます。何らかのファイルを選択して「OK」ボタンを押すと、そのファイルの名前がリストコントロールに表示され、ファイルの各行がパターンとして扱われるようになります。

■■リストコントロール内のファイル名を選択して「編集」ボタンを押すか、ファイル名をダブルクリックすると、「設定」ダイアログボックスの「検索パターン編集用エディタ」で指定されたテキストエディタを起動し、ファイルをオープンします。編集結果を保存すると、ファイルの新しい内容が検索パターンとして使われます。

■■リストコントロール内のファイル名を選択して「除去」ボタンか[Delete]キーを押すと、リストコントロールからそのファイルを取り除くことができます(ファイル自体を削除するわけではありません)。

 

正規表現

UNIXには、もともとgrepfgrepegprepという3種類のgrepがありました。fgrepは正規表現を使わず、パターンを文字通りの形で使い、grepはサブセットの正規表現を使い、egrepはフルセットの正規表現を使います。gnu grepは、ファイル名をegrepにすれば、egrepfgrepにすればfgrepとして動作します。そして、-E-F-Gオプションを指定すれば、ファイル名が何であれ、特定の動作を強制できます。このページの最初の部分では、コマンド名のデフォルトを使うか、特定の動作を強制するかを指定できます。

 

 

このページの下半分は、パターンの解釈方法を変更するオプションです。

 

-i パターンが英文のとき、大文字と小文字を区別せずに照合します。たとえば、パターンとして「abc」を指定したとき、ファイルに「ABC」という文字列を含む行があれば、それはパターンを含む行と見なされます。

-w 語の一部にパターンが含まれていても、パターンが語そのものになっていなければマッチしません。たとえば、grep --help | grep -e "is" を実行すると、次のような出力になりますが、

 

  -E, --extended-regexp     PATTERN is an extended regular expression

  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

  -G, --basic-regexp        PATTERN is a basic regular expression

  -i, --ignore-case         ignore case distinctions

Miscellaneous:

      --help                display this help and exit

With no FILE, or when FILE is -, read standard input. If less than

 

■■grep --help | grep -e "is" を実行すると、次のような出力になります。distinctionMiscellaneousthisに含まれているisは無視されています。

 

  -E, --extended-regexp     PATTERN is an extended regular expression

  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

  -G, --basic-regexp        PATTERN is a basic regular expression

With no FILE, or when FILE is -, read standard input. If less than

 

-x 行全体がパターンにマッチしなければ、マッチしません。パターンの先頭に^、末尾に$をつけたときと同じ意味になります。

出力制御

このページでは、出力の形式を細かく制御できます。

 

 

-b 行頭にパターンにマッチした行の先頭のオフセットアドレス(ファイルの先頭からのバイト数-1)が表示されます。

 

137:  -E, --extended-regexp     PATTERN is an extended regular expression

208:  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

285:  -G, --basic-regexp        PATTERN is a basic regular expression

471:  -i, --ignore-case         ignore case distinctions

665:Miscellaneous:

853:      --help                display this help and exit

1928:With no FILE, or when FILE is -, read standard input. If less than

 

-n 行頭に行番号とコロンを付加します。

 

5:  -E, --extended-regexp     PATTERN is an extended regular expression

6:  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

7:  -G, --basic-regexp        PATTERN is a basic regular expression

10:  -i, --ignore-case         ignore case distinctions

14:Miscellaneous:

18:      --help                display this help and exit

39:With no FILE, or when FILE is -, read standard input. If less than

 

-H 特に指定しない場合、入力ファイルが複数あるときには、行頭にファイル名とコロンが表示され、入力ファイルが1つであれば、ファイル名は表示されません。このオプションを指定すると、入力ファイルが1つでもファイル名が表示されます。先ほどからの例を使えば、入力はパイプ(標準入力)から与えられていますので、ファイル名として標準入力という文字列が出力されます。

 

(standard input):  -E, --extended-regexp     PATTERN is an extended regular expression

(standard input):  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

(standard input):  -G, --basic-regexp        PATTERN is a basic regular expression

(standard input):  -i, --ignore-case         ignore case distinctions

(standard input):Miscellaneous:

(standard input):      --help                display this help and exit

(standard input):With no FILE, or when FILE is -, read standard input. If less than

 

-n -Hとは逆に、複数の入力ファイルを与えたときでも、ファイル名を表示しません。

 

-q 通常なら出力される情報を一切出力しません。

 

-L マッチする行がなかったファイルのファイル名だけを出力します。

 

-l マッチする行が含まれているファイルのファイル名だけを出力します。

 

-c ファイル名の右にコロンとマッチする行の数を加えたものを出力します。

コンテキスト出力

コンテキスト出力とは、パターンにマッチした行の前後を出力することによって、文脈(コンテキスト)をわかりやすくする機能です。

 

 

-B 0以外の数値を指定すると、マッチした行の前の指定された行数を出力します。

 

-A 0以外の数値を指定すると、マッチした行のあとの指定された行数を出力します。

 

その他のオプション

-U 改行コードがCR+LF2字になっているWindows用のgrepのみのオプションです。おそらく、バイナリモードで入力を読み出してテキストモードで出力するのだろうと思われます。入力ファイルとして改行コードがCR+LFになっているファイルを指定して、このオプションを使うと、改行の部分がCR+CR+LFになってしまいます(使わなければCR+LFになります)。入力ファイルとして改行コードがLFになっているファイルを指定して、このオプションを使わなくても、改行はCR+LFになります(使った場合も改行はCR+LFになります)。

 

-u 改行コードがCR+LF2字になっているWindows用のgrepのみのオプションです。-bオプションのオフセットを計算するときに、CRの分を数えません。先ほどと同じ例を使うと、次のような出力になります。行頭の数字が、-bオプションの項で示した数字と-nオプションの項で示した数字の和から1を減算した数になっていることに注意してください。

 

133:  -E, --extended-regexp     PATTERN is an extended regular expression

203:  -F, --fixed-regexp        PATTERN is a fixed string separated by newlines

279:  -G, --basic-regexp        PATTERN is a basic regular expression

462:  -i, --ignore-case         ignore case distinctions

652:Miscellaneous:

836:      --help                display this help and exit

1890:With no FILE, or when FILE is -, read standard input. If less than

 

-s エラーメッセージを出力しません。

 

-v 通常はパターンにマッチする行が選択されますが、このオプションを指定すると、パターンにマッチしない行が選択されます。

ヘルプ、バージョン

/V  grep.exeのヘルプメッセージが表示されます。

--version  grep.exeのバージョン番号が表示されます。

 

これらのオプションを指定すると、オプショングループボックス内のほかのオプションは指定できなくなります。

DBCS

谷本孝浩氏がマルチバイト化したバージョンのためのページです。

 

 

指定せず デフォルト。gnuオリジナルのgrepを使う場合には、このオプションを選択しなければなりません。

 

ASCII  -Wctype=ASCIIオプションを指定します。マルチバイト版grepを使っても、マルチバイトを考慮しません。

 

SJIS  -Wctype=SJISオプションを指定します。マルチバイト版grepのデフォルトです。

 

EUC  -Wctype=EUCオプションを指定します。マルチバイト文字としてEUCを認識します。

出力

通常、出力ファイル名を指定する必要はありません。指定しなければ、出力は一時ファイルに書き込まれ、その一時ファイルが指定されたテキストエディタによってオープンされます。しかし、ファイル名を指定すれば、出力はそのファイルにリダイレクトされ、テキストエディタにもそのファイルが渡されます。また、中央のエディットボックスにファイル名が表示され、その下の「追加」チェックボックスをチェックできるようになります。「追加」チェックオックスをチェックすると、そのファイルの元の内容の末尾に出力を書き足します。出力の指定方法の詳細は、「出力の指定」を参照してください。

コマンド行

出力グループボックスの下の行には、組み立てたコマンド行が表示されます。(pipeline)の「編集」ボタンで起動したときを除き、コマンド行の左側の四角形をマウスでクリックしてドラッグしていくと、他のcmdline)にドロップできます。また、「コピー」ボタンを押すと、コマンド行情報がクリップボードにセットされます。クリップボードにコマンド行情報がセットされているときに、マウスの右ボタンをクリックし、コンテキストメニューから「貼り付け」を選択すると、クリップボードのコマンド行情報が反映されます。ドラッグアンドドロップとコピーアンドペーストの詳細は、「ドラッグアンドドロップとコピーアンドペースト」を参照してください。エキスポート、インポートされるときのコマンド行情報の形式については、「コマンド行情報のやり取りの仕組み」を参照してください。さらに、「.batロード」、「.bat保存」ボタンを使えば、同じ形式のコマンド行情報を.batファイルとして保存し、あとでロードすることができます。このロード、保存機能の詳細は、「.batファイルのロードと保存」を参照してください。

作業ディレクトリの設定

作業ディレクトリを表示しているエディットボックスを直接編集したり、マイコンピュータ、エクスプローラなどからフォルダを1つだけドロップしたりすると、作業ディレクトリを変更できます。「ChDir」ボタンでも、作業ディレクトリを設定できます。作業ディレクトリの設定が必要になるのは、入力ダイアログボックスの「直接指定する」を使うときです。詳しくは、「作業ディレクトリ」を参照してください。

設定

設定」ボタンを押すと、「設定」ダイアログボックスが表示されます。このダイアログボックスでは、

 

*出力の表示に使うテキストエディタ

*スクリプトの編集に使うテキストエディタ

*エクスプローラなどからファイルやフォルダをドロップしたときの確認メッセージの有無

*出力の末尾に実行したコマンド行、実行時間などを付加するかどうか

*コマンド行プログラムに渡すファイル名のディレクトリ区切り子を\ではなく/にするかどうか

*コマンド行プログラムに渡すファイル名を8.3形式にするかどうか

*コマンド行プログラムとしてどれを使うか

*デフォルトのコマンド名をどれにするか

 

を指定できます。詳しくは、「設定ダイアログボックス」を参照してください。

opt保存

opt保存」ボタンを押すと、「オプション」グループボックス内の設定が保存されます。詳しくは「オプション保存」を参照してください。