日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
GREP(1) FreeBSD 一般コマンドマニュアル GREP(1) 名称 grep, egrep, fgrep, rgrep -- ファイルパターンサーチャ (searcher) 書式 grep [-abcdDEFGHhIiLlmnOopqRSsUVvwxz] [-A num] [-B num] [-C num] [-e pattern] [-f file] [--binary-files=value] [--color[=when]] [--colour[=when]] [--context=num] [--label] [--line-buffered] [--null] [pattern] [file ...] 解説 grep ユーティリティは、1 つ以上のパターンに一致する行を選択してあらゆる与 えられた入力ファイルを検索します。デフォルトで、パターンは、パターンの正 規表現 (RE) が後続する改行を除いて、入力行に一致するなら、入力行に一致し ます。空の式は、すべての行に一致します。少なくともパターンの 1 つに一致す る各入力行は、標準出力に書き込まれます。 grep は、簡単なパターンと基本的な正規表現 (BRE) のために使用されます。 egrep は、拡張正規表現 (ERE) を扱うことができます。正規表現に関する詳細に ついては、re_format(7) を参照してください。fgrep は、grep と egrep の両方 より速いですが、固定パターンのみを扱うことができます (すなわち、正規表現 を解釈しません)。パターンは、入力の部分に一致しているパターン行のいずれか を許可する 1 つ以上の行から成ります。 次のオプションが利用可能です: -A num, --after-context=num 各一致の後に後続するコンテキストの num 行を印刷 (表示) します。-B と -C オプションも参照してください。 -a, --text すべてのファイルを ASCII テキストとして扱います。通常、grep は、 ファイルがバイナリ文字を含んでいるなら、単に ``Binary file ... matches'' を印刷 (表示) します。このオプションの使用によって、 grep は、強制的に指定されたパターンに一致する行を出力します。 -B num, --before-context=num 各一致の前の先導するコンテキストの num 行を印刷 (表示) します。-A と -C オプションも参照してください。 -b, --byte-offset 一致するパターンのバイト単位のオフセットは、それぞれ一致する行の 前に表示されます。 -C num, --context=num 各一致を囲む先導して、後続するコンテキストの num 行を印刷 (表示) します。また -A と -B オプションを参照してください。 -c, --count 選択された count 行だけが標準出力に書き込まれます。 --colour=[when], --color=[when] GREP_COLOR 環境変数に格納された式に一致するテキストをマークしま す。when の指定できる値は、``never'', ``always'' と ``auto'' で す。 -D action, --devices=action デバイス、FIFO とソケットのための要求された action を指定します。 デフォルトの action は、あたかもそれらが通常のファイルであったか のように、それらが読み込まれることを意味する、``read'' です。 action が ``skip'' に設定されているなら、デバイスは、静かにスキッ プします。 -d action, --directories=action ディレクトリのための要求される action を指定します。それは、ディ レクトリが通常のファイルと同じ方法で読み込まれることを意味する、 デフォルトで ``read'' です。他の指定できる値は、ディレクトリを静 かに無視する ``skip'' と -R と -r オプションと同じ効果がある、そ れらを、再帰的に読み込む ``recurse'' です。 -E, --extended-regexp 拡張正規表現 (すなわち、grep を強制的に egrep として振る舞わせる) として pattern を解釈します。 -e pattern, --regexp=pattern 入力の検索の間に使用される pattern を指定します: 入力行は、指定さ れたパターンのいずれかに一致するなら、選択されます。このオプショ ンは、複数の -e オプションが、複数のパターンを指定するために使用 されるか、または pattern がダッシュ (`-') で始まるとき、最も役に 立ちます。 --exclude pattern 指定されるなら、与えられたファイル名の pattern に一致するファイル を検索に入れません。--exclude と --include パターンは、与えられた 順序で処理されることに注意してください。名前が複数のパターンに一 致するなら、最後に一致する規則が採用されます。--include パターン が指定されないなら、すべてのファイルは、排除されないものが検索さ れます。パターンは、ファイル名の構成だけではなく、指定されたフル パスに一致します。 --exclude-dir pattern -R が指定されるなら、与えられたファイル名の pattern に一致する ディレクトリを検索に入れません。--exclude-dir と --include-dir パ ターンは、与えられた順序で処理されることに注意してください。名前 が複数のパターンに一致するなら、最後に一致する規則が採用されま す。--include-dir パターンが指定されないなら、すべてのディレクト リは、排除されないものが検索されます。 -F, --fixed-strings 固定された文字列のセットとして pattern を解釈します (すなわち、 grep を強制的に fgrep として振る舞います)。 -f file, --file=file file から 1 つ以上の改行で区切られたパターンを読み込みます。空の パターン行は、あらゆる入力行に一致します。改行は、パターンの一部 と見なされません。file が空であるなら、何も一致しません。 -G, --basic-regexp 基本的な正規表現 (すなわち、grep を強制的に古い grep として振る舞 わせる) として pattern を解釈します。 -H 常に出力行でファイル名のヘッダを印刷 (表示) します。 -h, --no-filename 出力行でファイル名のヘッダ (すなわち、ファイル名) を決して、印刷 (表示) しません。 --help 簡潔なヘルプメッセージを印刷 (表示) します。 -I バイナリファイルを無視します。このオプションは、``--binary- files=without-match'' オプションと同等です。 -i, --ignore-case 照合で大文字と小文字を区別しません。デフォルトで、grep は、大文字 と小文字を区別します。 --include pattern 指定されるなら、与えられたファイル名の pattern に一致するファイル だけが、検索されます。--include と --exclude パターンは、与えられ た順序で処理されることに注意してください。名前が複数のパターンに 一致するなら、最後に一致する規則が採用されます。パターンは、ファ イル名の構成だけではなく、指定されたフルパスに一致します。 --include-dir pattern -R が指定されるなら、与えられたファイル名の pattern に一致する ディレクトリだけが、検索されます。--include-dir と --exclude-dir パターンは、与えられた順序で処理されることに注意してください。名 前が複数のパターンに一致するなら、最後に一致する規則が採用されま す。 -L, --files-without-match 選択された行を含まないファイルの名前だけが標準出力に書き込まれま す。パス名は、検索されたファイルごとに一度リストされます。標準入 力が検索されるなら、--label が指定されないなら、文字列 ``(standard input)'' が書き込まれます。 -l, --files-with-matches 選択された行を含んでいるファイルの名前だけが標準出力に書き込まれ ます。grep は、検索を潜在的に安価にして (訳注: 意味不明)、一致が 見つけられるまで、ファイルだけを検索します。パス名は、検索される ファイルごとに一度リストされます。標準入力が検索されるなら、 --label が指定されないなら、文字列 ``(standard input)'' が書き込 まれます。 --label 通常ファイル名が印刷 (表示) されるファイル名のための ``(standard input)'' の代わりに使用するラベル。このオプションは、-H, -L と -l に適用します。 --mmap いくつかの状況の下でより良い性能をもたらすことができますが、未定 義の振る舞いを引き起こすかもしれない、入力を読み込むために read(2) の代わりに mmap(2) を使用します。 -m num, --max-count=num num が一致した後に、ファイルを読み込むことを停止します。 -n, --line-number 各出力行は、行 1 で始まって、ファイルの相対的な行番号に先導されま す。行番号のカウンタは、処理されたファイルごとにリセットされま す。このオプションは、-c, -L, -l または -q が指定されるなら、無視 されます。 --null ファイル名の後に 0 バイト印刷 (表示) します。 -O -R が指定されるなら、それらが明白にコマンド行にリストされる場合に だけ、シンボリックリンクをたどります。デフォルトは、シンボリック リンクをたどりません。 -o, --only-matching 行の一致する部分だけを印刷 (表示) します。 -p -R が指定されるなら、シンボリックリンクは、たどられません。これ は、デフォルトです。 -q, --quiet, --silent 静かな (quiet) モード: 通常に出力を抑制します。検索を潜在的に安価 にして、一致が見つけられるまで、grep は、ファイルだけを検索しま す。 -R, -r, --recursive リストされたサブディレクトリを再帰的に、検索します。(すなわち、 rgrep として振る舞うことを grep に強制します)。 -S -R が指定されるなら、すべてのシンボリックリンクは、たどられます。 デフォルトは、シンボリックリンクは、たどられません。 -s, --no-messages サイレント (silent) モード。実在しなくて読み込み不可能なファイル は、無視されます (すなわち、それらのエラーメッセージは、抑制され ます)。 -U, --binary バイナリファイルを検索しますが、それらを印刷 (表示) することを試 みません。 -u このオプションには、効果がなく、GNU grep との互換性だけのためにだ けに提供されています。 -V, --version バージョン情報を表示して、終了します。 -v, --invert-match 選択された行は、指定されたパターンのいずれにも一致しないもので す。 -w, --word-regexp 式は、(あたかも、`[[:<:]]' と `[[:>:]]' によって囲まれるかのよう に、re_format(7) を参照) 単語として検索されます。このオプション は、-x も指定されているなら、効果はありません。 -x, --line-regexp 全体の固定された文字列または正規表現に対して選択された入力行だけ が、行に一致していると見なされます。 -y -i と同等です。時代遅れです。 -z, --null-data 改行の代わりに、0 バイトによって終了する行のシーケンスとして入力 と出力データを扱います。 --binary-files=value バイナリファイルの検索と印刷 (表示) を制御します。オプションは、 次の通りです: binary (デフォルト) バイナリファイルを検索しますが、それらを印刷 (表示) しません。 without-match バイナリファイルを検索しません。 text すべてのファイルをテキストとして扱います。 --line-buffered バッファリングされた行を強制的に出力します。デフォルトで、標準出 力が端末であるとき、出力は、バッファリングされた行で、そうでなけ れば、バッファリングされたブロックです。 ファイル引数が指定されないなら、標準入力が使用されます。さらに、``-'' は、標準入力から読み込むために、ファイル名が受け付けられる、どこでも、 ファイル名の代わりに使用されます。これは、-f とファイル引数の両方を含みま す。 環境変数 次の環境変数は、grep の実行に影響します: GREP_COLOR この変数は、一致した (空でない) テキストを強調表示するため に使用される色を指定します。 GREP_OPTIONS この変数は、明示的なオプションの前に置かれるデフォルトオプ ションを指定します。移植可能なスクリプトで問題が起こるかも しれません。 TERM この変数は、使用する端末、コンソール、またはディスプレイデ バイスのタイプのタイプ名を指定します。term(7) を参照してく ださい。 終了ステータス grep ユーティリティは、次の値の 1 つで終了します: 0 1 つ以上の行が選択されました。 1 行が、選択されませんでした。 >1 エラーが発生しました。 使用例 - ファイルのパターン `patricia' の存在をすべて見つけるためには: $ grep 'patricia' myfile - 上記と同じですが、完全な単語のみを検索します: $ grep -w 'patricia' myfile - 正確なパターン `FOO' の存在をカウントします: $ grep -c FOO myfile - 上記と同じですが、大文字小文字を無視します: $ grep -c -i FOO myfile - 行の始めのパターン `.Pp' の存在をすべて見つけるためには: $ grep '^\.Pp' myfile アポストロフィは、全体の式がユーザのシェルの代わりに grep によって評 価されることを保証します。キャレット `^' は、行の始めのヌル文字列に一 致し、`\' は、`.' をエスケープして、そうでなければ、あらゆる文字に一 致します。 - 単語 `foo' または `bar' を含まないファイルのすべての行を見つけるため には: $ grep -v -e 'foo' -e 'bar' myfile - 拡張正規表現を使用してファイル `calendar' の 19、20 または 25 のいず れかを検索を調べます: $ egrep '19|20|25' calendar - パターン `FIXME' を含む `*.h' ファイルの名前と一致する行を表示しま す。/usr/src/sys/arm ディレクトリから再帰的に検索を行ないます。 $ grep -H -R FIXME --include=*.h /usr/src/sys/arm/ - 上記と同じですが、一致するファイルの名前だけを表示します。 $ grep -l -R FIXME --include=*.h /usr/src/sys/arm/ - テキスト `foo' を含む行を表示します。出力の一致した部分は、色が付けら れ、すべての行は、行番号と一致したそれらの行のファイルのオフセットが 先頭に付けられます。 $ grep -b --colour -n foo myfile - 標準入力から読み込んで拡張正規表現のパターンに一致する行を表示します: $ echo -e 'Free\nBSD\nAll.*reserved' | grep -E -f - myfile - 先導するコンテキストの 3 つの行と後続するコンテキストの 1 つの行とと もに pciconf(8) コマンドの出力からの行と指定された拡張正規表現に一致 する行を表示します。 $ pciconf -lv | grep -B3 -A1 -E 'class.*=.*storage' - あらゆる出力を抑制し、適切なメッセージを表示するために終了ステータス を使用します: $ grep -q foo myfile && echo File matches 関連項目 ed(1), ex(1), sed(1), zgrep(1), re_format(7) 規格 grep ユーティリティは、IEEE Std 1003.1-2008 (``POSIX.1'') 仕様に準拠して います。 フラグ [-AaBbCDdGHhILmoPRSUVw] は、その仕様の拡張で、空のパターンファイル で使用されるとき、-f フラグの振る舞いは、未定義の状態のままです。 すべての長いオプションは、このユーティリティの GNU バージョンとの互換性の ために提供されています。 grep ユーティリティの歴史的なバージョンは、フラグ [-ruy] もサポートしてい ました。この実装は、それらのオプションをサポートしています。しかしなが ら、それらの使用は、強くお勧めできません。 歴史 grep コマンドは、Version 6 AT&T UNIX ではじめて登場しました。 FreeBSD 13.2 December 18, 2022 FreeBSD 13.2