Manpages

名 前

grep, egrep, fgrep − パ タ ー ン に マ ッ チ す る 行 を 表 示 す る

書 式

grep [OPTIONS] PATTERN [FILE...]
grep
[OPTIONS] [−e PATTERN | −f FILE] [FILE...]

説 明

grepFILE で 名 前 を 指 定 さ れ た フ ァ イ ル (フ ァ イ ル が 指 定 さ れ て い な い 場 合 や 、 フ ァ イ ル 名 の 代 わ り に 1 個 の マ イ ナ ス 記 号 () が 指 定 さ れ て い る 場 合 は 標 準 入 力 ) を 検 索 し て 、 与 え ら れ た PATTERN に マ ッ チ す る 部 分 を 含 む 行 を 探 し ま す 。 デ フ ォ ル ト で は 、 grep は マ ッ チ し た 行 を 表 示 し ま す 。 さ ら に 、 2 つ の 兄 弟 プ ロ グ ラ ム egrepfgrep が 利 用 可 能 で す 。 egrepgrep −E と 同 じ で す 。 fgrepgrep −F と 同 じ で す 。 egrepfgrep を 直 接 そ の 名 前 で 呼 び 出 す の は 、 お 勧 め で き ま せ ん 。 そ れ が 可 能 に な っ て い る の は 、 こ う し た コ マ ン ド の 存 在 を 前 提 と す る 昔 の ア プ リ ケ ー シ ョ ン が 、 プ ロ グ ラ ム を 修 正 し な い で も 動 く よ う に す る た め な の で す 。

オ プ シ ョ ン

プ ロ グ ラ ム に つ い て の 一 般 情 報

−−help 以 下 に 述 べ る コ マ ン ド ラ イ ン オ プ シ ョ ン に つ い て 簡 潔 に ま と め た 使 用 法 と 、 バ グ レ ポ ー ト の た め の ア ド レ ス を 表 示 し て 、 終 了 し ま す 。

−V, −−version

grep の バ ー ジ ョ ン 番 号 を 標 準 出 力 に 表 示 し ま す 。 バ グ レ ポ ー ト に は 、 必 ず こ の 番 号 を 付 記 し て く だ さ い (下 記 参 照 )。 正 規 表 現 の 選 択

−E, −−extended−regexp

PATTERN を 拡 張 正 規 表 現 (ERE) と し て 扱 い ま す (下 記 参 照 )。 (−E オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )

−F, −−fixed−strings

PATTERN を 改 行 で 区 切 ら れ た 固 定 文 字 列 (訳 注 : す な わ ち 、 正 規 表 現 で は な い た だ の 文 字 列 ) の リ ス ト と し て 扱 い 、 そ の 文 字 列 の ど れ か と マ ッ チ す る か を 調 べ ま す 。 (−F オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )

−G, −−basic−regexp

PATTERN を 基 本 正 規 表 現 (BRE) と し て 扱 い ま す (下 記 参 照 )。 こ れ が デ フ ォ ル ト で す 。

−P, −−perl−regexp

PATTERN を Perl の 正 規 表 現 と し て 扱 い ま す 。 き わ め て 実 験 的 な も の な の で 、 grep −P を 使 う と 、 そ の 機 能 は 実 装 さ れ て い ま せ ん と い う 警 告 が 出 る か も し れ ま せ ん 。 マ ッ チ ン グ の 制 御

−e PATTERN, −−regexp=PATTERN

PATTERN を パ タ ー ン と し て 指 定 し ま す 。 こ の オ プ シ ョ ン を 使 用 す れ ば 、 多 数 の 検 索 パ タ ー ン を 指 定 し た り 、 ハ イ フ ン () で 始 ま る パ タ ー ン を 保 護 し た り す る こ と が で き ま す 。 (−e オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )

−f FILE, −−file=FILE パ タ ー ン を FILE か ら 1 行 1 パ タ ー ン と し て 読 み 込 み ま す 。 空 の フ ァ イ ル は パ タ ー ン を 含 ま な い の で 、 何 に も マ ッ チ し ま せ ん 。 (−f オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )
−i
, −−ignore−case

PATTERN と 入 力 フ ァ イ ル の 双 方 で 、 ア ル フ ァ ベ ッ ト の 大 文 字 と 小 文 字 を 区 別 し な い よ う に し ま す 。 (−i オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )

−v, −−invert−match マ ッ チ の 意 味 を 逆 に し て 、 マ ッ チ し な い 行 を 抜 き 出 し て 表 示 し ま す 。 (−v オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )
−w
, −−word−regexp マ ッ チ す る 部 分 が 完 全 な 単 語 を 形 成 す る と き に の み 、 そ の 行 を 選 択 し ま す 。 次 の 条 件 を 検 査 し ま す 。 パ タ ー ン に マ ッ チ す る 部 分 文 字 列 は 、 行 頭 に あ る か 、 さ も な け れ ば 、 単 語 構 成 文 字 以 外 の 文 字 の 直 後 に な け れ ば な ら な い 。 ま た 、 そ の 部 分 文 字 列 は 、 行 末 に あ る か 、 さ も な け れ ば 、 単 語 構 成 文 字 以 外 の 文 字 の 直 前 に な け れ ば な ら な い (訳 注 : こ こ で 「 完 全 な 単 語 を 形 成 す る 」 と い う の は 、 そ れ が 空 白 、 改 行 、 引 用 符 、 句 読 点 な ど で 前 後 を 区 切 ら れ た 文 字 列 だ と い う こ と で す 。 た と え ば 、 文 字 列 「 A word with you」 中 の word と い う 部 分 文 字 列 は 完 全 な 単 語 で す が 、 文 字 列 「 two words」 中 の 部 分 文 字 列 word は 完 全 な 単 語 を 形 成 し ま せ ん )。 単 語 構 成 文 字 と は 、 ア ル フ ァ ベ ッ ト 、 数 字 、 ア ン ダ ス コ ア で す (訳 注 : 実 は 漢 字 や 仮 名 も 単 語 構 成 文 字 と し て 扱 わ れ ま す )。
−x
, −−line−regexp パ タ ー ン が 行 全 体 と ぴ っ た り マ ッ チ し た と き に の み 、 そ の 行 を 選 択 し ま す 。 (−x オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )

−y

−i と 同 じ 意 味 を 持 つ 旧 式 の オ プ シ ョ ン で す 。

一 般 的 な 出 力 の 制 御

−c, −−count 通 常 の 出 力 は せ ず 、 各 入 力 フ ァ イ ル に つ い て マ ッ チ し た 行 数 を 表 示 し ま す 。 −v, −−invert-match オ プ シ ョ ン (上 記 参 照 ) と 共 に 指 定 し た 場 合 は 、 マ ッ チ し な か っ た 行 数 を 表 示 し ま す 。 (−c オ プ シ ョ ン は POSIX で 指 定 さ れ て い ま す )
−−color
[=WHEN], −−colour[=WHEN] マ ッ チ し た (空 文 字 列 で は な い ) 文 字 列 、 マ ッ チ す る 行 、 前 後 の 文 脈 行 、 フ ァ イ ル 名 、 行 番 号 、 バ イ ト オ フ セ ッ ト 、 (フ ィ ー ル ド や 、 前 後 の 文 脈 行 を 含 む グ ル ー プ 同 士 の ) 区 切 り 記 号 を エ ス ケ ー プ ・ シ ー ケ ン ス で 囲 み 、 タ ー ミ ナ ル 上 に 色 付 き で 表 示 し ま す 。 ど の 色 を 使 う か は 、 環 境 変 数 GREP_COLORS で 定 義 し ま す 。 非 推 奨 の 環 境 変 数 GREP_COLOR も 、 こ れ ま で ど お り 使 用 で き ま す が 、 そ の 設 定 は 優 先 さ れ ま せ ん 。 WHENnever, always, auto の い づ れ か で す 。
−L
, −−files−without−match 通 常 の 出 力 は し ま せ ん 。 そ の 代 わ り に 、 grep を 普 通 に 実 行 し た 際 に 、 何 の 検 索 結 果 も 表 示 し な い よ う な 入 力 フ ァ イ ル の 名 前 を 列 挙 し ま す (訳 注 : す な わ ち 、 −L オ プ シ ョ ン を 指 定 す る と 、 −v オ プ シ ョ ン を 同 時 に 指 定 し な い 場 合 は 、 パ タ ー ン に マ ッ チ す る 文 字 列 を 含 む 行 が ま っ た く 存 在 し な い フ ァ イ ル の 名 前 を 列 挙 す る と い う こ と で す )。 個 々 の フ ァ イ ル に 対 す る 走 査 は 、 最 初 の マ ッ チ で 終 了 し ま す 。
−l
, −−files−with−matches 通 常 の 出 力 は し ま せ ん 。 そ の 代 わ り に 、 grep を 普 通 に 実 行 し た 際 に 、 何 ら か の 検 索 結 果 を 表 示 す る よ う な 入 力 フ ァ イ ル の 名 前 を 列 挙 し ま す (訳 注 : す な わ ち 、 −l オ プ シ ョ ン を 指 定 す る と 、 −v オ プ シ ョ ン を 同 時 に 指 定 し な い 場 合 は 、 パ タ ー ン に マ ッ チ す る 文 字 列 を 含 む 行 が 存 在 す る フ ァ イ ル の 名 前 を 列 挙 す る と い う こ と で す )。 個 々 の フ ァ イ ル に 対 す る 走 査 は 、 最 初 の マ ッ チ で 終 了 し ま す 。 (−l オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す )
−m
NUM, −−max−count=NUM マ ッ チ し た 行 数 が NUM に 達 し た ら 、 フ ァ イ ル の 読 み 込 み を 中 止 し ま す 。 入 力 が 通 常 フ ァ イ ル か ら 標 準 入 力 を 介 し て 行 わ れ て い る 場 合 は 、 マ ッ チ し た 行 を NUM 行 出 力 し た 時 点 で 、 grep は 標 準 入 力 の 読 み 出 し 位 置 を 最 後 に マ ッ チ し た 行 の 直 後 に 来 る よ う に し て か ら 、 終 了 し ま す 。 続 い て 表 示 す る 文 脈 行 が あ る 場 合 で も 、 こ の 動 作 は 変 わ り ま せ ん 。 こ の こ と は 、 grep を 呼 び 出 す プ ロ セ ス が 、 中 止 し た と こ ろ か ら 検 索 を 再 開 す る こ と を 可 能 に し ま す 。 grep は マ ッ チ し た 行 数 が NUM に 達 し て ス ト ッ プ し た と き 、 そ れ に 続 く 文 脈 行 が あ れ ば 、 そ れ を 出 力 し ま す 。 −c−−count オ プ シ ョ ン を 同 時 に 使 用 し た 場 合 、 grepNUM よ り も 大 き い 数 を 出 力 し ま せ ん 。 −v−−invert−match を 同 時 に 使 用 し た 場 合 は 、 マ ッ チ し な い 行 を NUM 行 出 力 し た と こ ろ で 、 grep は ス ト ッ プ し ま す 。
−o
, −−only−matching マ ッ チ す る 行 の マ ッ チ し た 部 分 だ け を (そ れ が 空 文 字 列 で な け れ ば ) 表 示 し ま す 。 マ ッ チ し た 各 文 字 列 は 、 そ れ ぞ れ 別 の 行 に 書 き 出 し ま す 。
−q
, −−quiet, −−silent 沈 黙 モ ー ド で す 。 標 準 出 力 に 何 も 書 き 出 し ま せ ん 。 マ ッ チ す る も の が 1 つ で も 見 つ か る と 、 エ ラ ー を 検 出 し て い た 場 合 で も 、 終 了 ス テ ー タ ス 0 で 即 座 に 終 了 し ま す 。 −s−−no−messages オ プ シ ョ ン も 参 照 し て く だ さ い 。 (−q オ プ シ ョ ン は POSIX . で 規 定 さ れ て い ま す )
−s
, −−no−messages フ ァ イ ル が 存 在 し な い こ と や 読 み 込 み め な い こ と を 示 す エ ラ ー メ ッ セ ー ジ を 抑 止 し ま す 。 移 植 に 関 す る 注 意 : GNU grep と は 異 な り 、 Unix 第 7 版 の grepPOSIX の 規 格 に 沿 っ て い ま せ ん で し た 。 な ぜ な ら 、 そ れ に は −q オ プ シ ョ ン が な く 、 −s オ プ シ ョ ン も GNU grep−q オ プ シ ョ ン の よ う に 動 作 し た か ら で す 。 USG 系 の grep に も −q オ プ シ ョ ン が あ り ま せ ん で し た が 、 −s オ プ シ ョ ン の 方 は GNUgrep と 同 じ よ う に 動 作 し ま し た (訳 注 : USG は Unix Support Group の 略 。 USG Unix と 言 う と 、 Unix 第 7 版 以 後 の AT&T 系 の 商 用 Unix を 指 し ま す )。 移 植 性 を 考 慮 し た シ ェ ル ス ク リ プ ト で は 、 −q−s の ど ち ら も 使 用 す る こ と は 避 け て 、 標 準 出 力 や 標 準 エ ラ ー を /dev/null に リ ダ イ レ ク ト す る べ き で す 。 (−s オ プ シ ョ ン は POSIX で 規 定 さ れ て い ま す ) 出 力 す る 行 の 前 に 付 け る 情 報 の 制 御
−b
, −−byte−offset 出 力 す る 各 行 の 前 に 、 そ の 入 力 フ ァ イ ル 内 で の 0 か ら 始 ま る バ イ ト 単 位 の オ フ セ ッ ト を 表 示 し ま す 。 −o (−−only−matching) も 指 定 さ れ て い る と き は 、 マ ッ チ す る 部 分 そ の も の の オ フ セ ッ ト を 示 し ま す 。
−H
, −−with−filename 各 々 の マ ッ チ に 対 し て そ の フ ァ イ ル 名 を 表 示 し ま す 。 検 索 す る フ ァ イ ル が 2 個 以 上 の 場 合 は 、 こ れ が デ フ ォ ル ト の 動 作 で す 。
−h
, −−no−filename 出 力 す る 行 の 前 に フ ァ イ ル 名 を 付 け な い よ う に し ま す 。 検 索 す る フ ァ イ ル が 1 つ し か な い (あ る い は 、 標 準 入 力 だ け だ っ た ) 場 合 は 、 こ れ が デ フ ォ ル ト の 動 作 で す 。
−−label=
LABEL 実 際 に は 標 準 入 力 か ら 来 た 入 力 を LABEL と い う フ ァ イ ル か ら 来 た も の の よ う に 見 せ か け ま す 。 こ れ は zgrep の よ う な ツ ー ル を 自 分 で 作 成 す る 際 に と り わ け 便 利 で す 。 た と え ば 、 gzip -cd foo.gz | grep --label=foo -H something と い っ た 具 合 で す 。 −H オ プ シ ョ ン も 参 照 し て く だ さ い 。
−n
, −−line−number 各 出 力 行 の 前 に 、 そ の 入 力 フ ァ イ ル 内 で の 1 か ら 始 ま る 行 番 号 を 表 示 し ま す 。 (−n オ プ シ ョ ン は POSIX . で 規 定 さ れ て い ま す )
−T
, −−initial−tab 行 の 実 際 の 内 容 を な す 最 初 の 文 字 が 、 必 ず タ ブ ・ ス ト ッ プ の 位 置 に 来 る よ う に し ま す 。 そ の 結 果 、 タ ブ が き ち ん と 揃 っ て 見 え る よ う に な り ま す 。 こ の オ プ シ ョ ン は −H,−n,−b と い っ た 、 実 際 の 内 容 の 前 に 情 報 を 付 加 す る オ プ シ ョ ン を 使 う と き に 役 に 立 ち ま す 。 ま た 、 こ の オ プ シ ョ ン は 、 1 つ の フ ァ イ ル か ら 抜 き 出 し た 行 の 先 頭 が で き る だ け 揃 う よ う に 、 行 番 号 や バ イ ト オ フ セ ッ ト が あ る 場 合 は 、 そ の フ ィ ー ル ド 幅 を 必 要 最 小 の サ イ ズ に し て 表 示 し ま す 。
−u
, −−unix−byte−offsets

Unix 形 式 の バ イ ト オ フ セ ッ ト を 報 告 し ま す 。 こ の ス イ ッ チ を 使 う と 、 grep は 、 検 索 対 象 の フ ァ イ ル が Unix 形 式 の テ キ ス ト フ ァ イ ル で あ る か の よ う に 、 バ イ ト オ フ セ ッ ト を 報 告 し ま す 。 す な わ ち 、 CR 文 字 を 切 り 捨 て る の で す 。 そ の た め 、 表 示 さ れ る 結 果 は 、 Unix マ シ ン で grep を 実 行 し た と き と 同 じ も の に な り ま す 。 こ の オ プ シ ョ ン は 、 −b オ プ シ ョ ン を 同 時 に 使 用 し な い か ぎ り 、 効 果 が あ り ま せ ん 。 ま た 、 こ の オ プ シ ョ ン は 、 MS-DOSMS -Windows 以 外 の プ ラ ッ ト ホ ー ム で は 、 何 の 効 果 も あ り ま せ ん 。

−Z, −−null フ ァ イ ル 名 に 続 い て 通 常 出 力 さ れ る 文 字 の 代 わ り に 、 値 が 0 の 1 バ イ ト ( ASCII NUL 文 字 ) を 出 力 し ま す 。 た と え ば 、 grep −lZ は 、 い つ も の 改 行 (newline) で は な く 、 値 が 0 の 1 バ イ ト を 各 フ ァ イ ル 名 の 後 ろ に 出 力 す る の で す 。 こ の オ プ シ ョ ン は 、 改 行 の よ う な 変 わ っ た 文 字 を 含 む フ ァ イ ル 名 が あ る と き で も 、 出 力 の 曖 昧 さ を な く し て く れ ま す 。 こ の オ プ シ ョ ン を find −print0, perl −0, sort −z, xargs −0 な ど の コ マ ン ド と 組 み 合 わ せ て 使 う と 、 行 儀 の 悪 い フ ァ イ ル 名 も 処 理 す る こ と が で き ま す 。 フ ァ イ ル 名 が 改 行 文 字 を 含 ん で い て も 処 理 で き る の で す 。 前 後 の 文 脈 行 の 制 御
−A
NUM, −−after−context=NUM

NUM で 指 定 し た 行 数 だ け 、 パ タ ー ン に マ ッ チ し た 行 の 後 に 続 く 文 脈 も 表 示 し ま す 。 マ ッ チ し た 行 を 含 む グ ル ー プ 同 士 の 間 に は 、 グ ル ー プ を 区 切 る 印 (−−) か ら な る 行 を 置 き ま す 。 −o−−only−matching と 同 時 に 使 う と 、 こ の オ プ シ ョ ン は 効 果 が な く 、 警 告 メ ッ セ ー ジ を 出 し ま す 。

−B NUM, −−before−context=NUM

NUM で 指 定 し た 行 数 だ け 、 パ タ ー ン に マ ッ チ し た 行 に 先 行 す る 文 脈 も 表 示 し ま す 。 マ ッ チ し た 行 を 含 む グ ル ー プ 同 士 の 間 に は 、 グ ル ー プ を 区 切 る 印 (−−) か ら な る 行 を 置 き ま す 。 −o−−only−matching と 同 時 に 使 う と 、 こ の オ プ シ ョ ン は 効 果 が な く 、 警 告 メ ッ セ ー ジ を 出 し ま す 。

−C NUM, NUM, −−context=NUM

NUM で 指 定 し た 行 数 だ け 、 パ タ ー ン に マ ッ チ し た 行 の 前 後 の 文 脈 も 表 示 し ま す 。 マ ッ チ し た 行 を 含 む グ ル ー プ 同 士 の 間 に は 、 グ ル ー プ を 区 切 る 印 (−−) か ら な る 行 を 置 き ま す 。 −o−−only−matching と 同 時 に 使 う と 、 こ の オ プ シ ョ ン は 効 果 が な く 、 警 告 メ ッ セ ー ジ を 出 し ま す 。 フ ァ イ ル や デ ィ レ ク ト リ の 選 択

−a, −−text バ イ ナ リ フ ァ イ ル を テ キ ス ト フ ァ イ ル で あ る か の よ う に 処 理 し ま す 。 こ れ は −−binary-files=text オ プ シ ョ ン と 等 価 で す 。
−−binary−files=
TYPE フ ァ イ ル の 最 初 の 数 バ イ ト が 、 フ ァ イ ル の 内 容 が バ イ ナ リ デ ー タ で あ る こ と を 示 す 場 合 、 フ ァ イ ル の タ イ プ を TYPE で あ る と 仮 定 し ま す 。 デ フ ォ ル ト で は TYPEbinary で あ り 、 通 常 grep は 、 マ ッ チ す る 部 分 が バ イ ナ リ フ ァ イ ル に 存 在 す る 場 合 は 、 そ の 旨 一 行 メ ッ セ ー ジ で 表 示 し ま す 。 マ ッ チ す る 部 分 が な い 場 合 に は 何 も 表 示 し ま せ ん 。 TYPEwithout-match の 場 合 、 grep は バ イ ナ リ フ ァ イ ル は マ ッ チ し な い も の と 決 め て か か り ま す 。 こ れ は −I オ プ シ ョ ン と 等 価 で す 。 TYPEtext の 場 合 、 grep は バ イ ナ リ フ ァ イ ル を テ キ ス ト で あ る か の よ う に 扱 い ま す 。 こ れ は −a オ プ シ ョ ン と 等 価 で す 。 警 告 : grep −−binary-files=text は バ イ ナ リ の ゴ ミ を 出 力 す る か も し れ ま せ ん 。 出 力 先 が 端 末 で あ り 、 し か も 端 末 ド ラ イ バ が ゴ ミ の 一 部 を コ マ ン ド だ と 解 釈 す る 場 合 に は 、 こ の ゴ ミ が 厄 介 な 副 作 用 を 起 こ す 可 能 性 が あ り ま す 。
−D
ACTION, −−devices=ACTION 入 力 フ ァ イ ル が デ バ イ ス 、 FIFO、 ソ ケ ッ ト の い づ れ か で あ る 場 合 に 、 ACTION を 使 っ て そ の 処 理 を 行 い ま す 。 デ フ ォ ル ト の ACTIONread で す 。 す な わ ち 、 デ バ イ ス な ど を 、 そ れ が 普 通 の フ ァ イ ル で あ る か の よ う に 、 読 み 込 み ま す 。 ACTIONskip な ら ば 、 デ バ イ ス な ど を 黙 っ て ス キ ッ プ し ま す 。
−d
ACTION, −−directories=ACTION 入 力 フ ァ イ ル が デ ィ レ ク ト リ の 場 合 に 、 ACTION を 使 っ て そ の 処 理 を 行 い ま す 。 デ フ ォ ル ト の ACTIONread で す 。 す な わ ち 、 デ ィ レ ク ト リ を 、 そ れ が 普 通 の フ ァ イ ル で あ る か の よ う に 、 読 み 込 み ま す 。 ACTIONskip な ら ば 、 デ ィ レ ク ト リ を 黙 っ て ス キ ッ プ し ま す 。 ACTIONrecurse な ら 、 grep は 各 デ ィ レ ク ト リ の 下 に あ る す べ て の フ ァ イ ル を 再 帰 的 に 読 み 込 み ま す 。 こ れ は −r オ プ シ ョ ン と 等 価 で す 。
−−exclude=
GLOB ベ ー ス ネ ー ム (訳 注 : パ ス な し の フ ァ イ ル 名 ) が GLOB に マ ッ チ す る フ ァ イ ル を ス キ ッ プ し ま す (ワ イ ル ド カ ー ド の マ ッ チ ン グ を 使 用 し ま す )。 GLOB で 指 定 す る フ ァ イ ル 名 に は 、 *, ?, [...] が ワ イ ル ド カ ー ド と し て 使 え ま す 。 \ を 文 字 の 前 に 置 け ば 、 ワ イ ル ド カ ー ド 文 字 や バ ッ ク ス ラ ッ シ ュ 文 字 を 本 来 の 意 味 で 使 用 で き ま す 。
−−exclude-from=
FILE フ ァ イ ル FILE を 読 み 込 み 、 そ こ に 書 か れ て い る フ ァ イ ル 名 (ワ イ ル ド カ ー ド 可 ) の ど れ か に ベ ー ス ネ ー ム が マ ッ チ す る フ ァ イ ル を ス キ ッ プ し ま す (−−exclude の 項 で 説 明 し た ワ イ ル ド カ ー ド の マ ッ チ ン グ を 使 用 し ま す )。
−−exclude-dir=
DIR

DIR と い う パ タ ー ン に マ ッ チ す る デ ィ レ ク ト リ を 再 帰 検 索 か ら 除 外 し ま す 。

−I バ イ ナ リ フ ァ イ ル を マ ッ チ す る デ ー タ を 含 ん で い な い も の と し て 処 理 し ま す 。 こ れ は

−−binary−files=without-match オ プ シ ョ ン と 等 価 で す 。
−−include=
GLOB ベ ー ス ネ ー ム が GLOB に マ ッ チ す る フ ァ イ ル の み を 検 索 し ま す (−−exclude の 項 で 説 明 し た ワ イ ル ド カ ー ド の マ ッ チ ン グ を 使 用 し ま す )。
−R
, −r, −−recursive 各 デ ィ レ ク ト リ の 下 に あ る す べ て の フ ァ イ ル を 再 帰 的 に 読 み 込 み ま す 。 こ れ は −d recurse オ プ シ ョ ン と 等 価 で す 。 そ の 他 の オ プ シ ョ ン
−−line−buffered
行 ご と に 出 力 を 行 い ま す 。 実 行 速 度 が 落 ち る か も し れ ま せ ん 。

−−mmap 可 能 な ら ば 、 デ フ ォ ル ト の

read(2) シ ス テ ム コ ー ル の 代 わ り に

mmap(2) シ ス テ ム コ ー ル を 使 っ て 入 力 を 読 み 込 み ま す 。 場 合 に よ っ て は −−mmap を 指 定 す る と 、 性 能 が 上 が る こ と が あ り ま す 。 し か し 、 grep の 動 作 中 に 入 力 フ ァ イ ル が ほ か の プ ロ セ ス に よ っ て 切 り 詰 め ら れ た り 、 I/O エ ラ ー が 生 じ た り す る と 、 −−mmap は (コ ア ダ ン プ を 含 む ) 未 定 義 の 動 作 を 引 き 起 こ す 可 能 性 が あ り ま す 。

−U, −−binary フ ァ イ ル を バ イ ナ リ と し て 扱 い ま す 。 MS-DOS や MS-Windows の 環 境 下 で 、 grep は デ フ ォ ル ト で は 、 フ ァ イ ル か ら 読 み 取 っ た 最 初 の 32KB の 内 容 を 見 て 、 フ ァ イ ル タ イ プ を 推 測 し ま す 。 grep は フ ァ イ ル を テ キ ス ト フ ァ イ ル と 判 断 し た 場 合 、 オ リ ジ ナ ル の フ ァ イ ル 内 容 か ら (^$ を 使 っ た 正 規 表 現 が 正 し く 動 作 す る よ う に ) CR 文 字 を 取 り 除 き ま す 。 −U を 指 定 す る と 、 こ の 推 測 を 抑 制 し 、 す べ て の フ ァ イ ル を 読 み 取 っ て 、 そ の ま ま 手 を 加 え ず に マ ッ チ 処 理 へ 渡 す の で す 。 も し フ ァ イ ル が 各 行 の 末 尾 に CR/LF の 組 み 合 わ せ を 持 つ テ キ ス ト フ ァ イ ル な ら 、 こ の オ プ シ ョ ン の せ い で 正 規 表 現 が う ま く 働 か な い こ と が あ る か も し れ ま せ ん 。 こ の オ プ シ ョ ン は MS-DOS や MS-Windows 以 外 の プ ラ ッ ト フ ォ ー ム で は 効 果 が あ り ま せ ん 。
−z
, −−null−data 各 行 が 改 行 で は な く 、 値 が 0 の 1 バ イ ト ( ASCII NUL 文 字 ) で 区 切 ら れ る 、 そ う い う 行 の 集 ま り と し て 入 力 を 処 理 し ま す 。 -Z−−null と 同 様 、 こ の オ プ シ ョ ン は sort -z な ど の コ マ ン ド と 組 み 合 わ せ て 、 行 儀 の 悪 い フ ァ イ ル 名 の 処 理 に 使 用 す る こ と が で き ま す 。

正 規 表 現

正 規 表 現 と は 、 一 群 の 文 字 列 を 一 ま と め に し て 表 現 す る パ タ ー ン の こ と で す 。 正 規 表 現 の 構 成 方 法 は 、 数 式 に よ く 似 て い ま す 。 す な わ ち 、 さ ま ざ ま な 演 算 子 を 使 い 、 小 さ な 表 現 を 組 み 合 わ せ て 構 成 す る の で す 。

grep は 、 「 基 本 」 正 規 表 現 、 「 拡 張 」 正 規 表 現 、 「 Perl の 」 正 規 表 現 と い う 3 種 類 の 正 規 表 現 文 法 を 扱 う こ と が で き ま す 。 GNU  grep で は 、 「 基 本 」 と 「 拡 張 」 の 文 法 の 間 で 、 利 用 で き る 機 能 に 違 い は あ り ま せ ん 。 他 の 実 装 で は 、 基 本 正 規 表 現 は 拡 張 正 規 表 現 ほ ど 強 力 で は な い も の で す 。 こ こ で は 、 拡 張 正 規 表 現 に つ い て 説 明 し 、 基 本 正 規 表 現 と の 相 違 に つ い て は 、 後 で 簡 単 に ま と め る こ と に し ま す 。 な お 、 Perl の 正 規 表 現 は 機 能 が さ ら に 増 加 し て お り 、 pcresyntax(3)pcrepattern(3) で 詳 細 に 解 説 さ れ て い ま す が 、 ど の シ ス テ ム で も 利 用 で き る と は か ぎ り ま せ ん 。 正 規 表 現 を 構 成 す る 基 本 単 位 は 、 1 文 字 に マ ッ チ す る 正 規 表 現 で す 。 ア ル フ ァ ベ ッ ト や 数 字 を 含 む ほ と ん ど の 文 字 が 、 自 分 自 身 に マ ッ チ す る 正 規 表 現 で す 。 ま た 、 特 殊 な 意 味 を 持 つ メ タ 文 字 も 、 そ の 文 字 の 前 に バ ッ ク ス ラ ッ シ ュ を 付 け る と 、 そ の 本 来 の 文 字 に マ ッ チ す る よ う に な り ま す 。 ピ リ オ ド . は 、 任 意 の 1 文 字 に マ ッ チ し ま す 。 文 字 ク ラ ス と 角 括 弧 式 (ブ ラ ケ ッ ト 式 ) 角 括 弧 式 と は 、 [] で 囲 ま れ た 文 字 の リ ス ト の こ と で す 。 角 括 弧 式 は 、 リ ス ト 中 の 任 意 の 1 文 字 に マ ッ チ し ま す 。 ま た 、 リ ス ト の 最 初 の 文 字 が キ ャ レ ッ ト ^ の 場 合 は 、 リ ス ト 中 の 文 字 以 外 の 任 意 の 1 文 字 に マ ッ チ し ま す 。 た と え ば 、 正 規 表 現 [0123456789] は 任 意 の 数 字 1 個 に マ ッ チ す る わ け で す 。 角 括 弧 式 の 内 側 に 範 囲 式 を 置 く こ と が で き ま す が 、 こ れ は ハ イ フ ン で 区 切 ら れ た 2 つ の 文 字 か ら な っ て い ま す 。 範 囲 式 は 、 現 在 使 用 中 の ロ ケ ー ル に お け る 照 合 順 序 と 文 字 集 合 を 使 っ た と き に 、 そ の 2 文 字 の 間 に 並 ぶ 、 そ の 2 文 字 を 含 む 任 意 の 1 文 字 に マ ッ チ し ま す 。 た と え ば 、 デ フ ォ ル ト の C ロ ケ ー ル で は 、 [a−d][abcd] と 等 価 で す 。 多 く の ロ ケ ー ル で は 文 字 を 辞 書 式 の 順 序 で 並 べ て い ま す が 、 そ う し た ロ ケ ー ル で [a−d][abcd] と 等 価 で な い こ と も よ く あ り ま す 。 た と え ば 、 [aBbCcDd] と 等 価 か も し れ な い の で す 。 角 括 弧 式 を 伝 統 的 な 意 味 に 解 釈 さ せ た い な ら 、 環 境 変 数 LC_ALL の 値 を C に 設 定 し て 、 C ロ ケ ー ル を 使 用 す る と よ い で し ょ う 。 最 後 に 、 角 括 弧 式 内 で 使 え る よ う に 、 特 定 の 名 前 を 持 つ 文 字 ク ラ ス が あ ら か じ め 定 義 さ れ て い ま す 。 名 前 が 内 容 を 示 し て お り 、 そ れ は 次 の よ う な も の で す 。 [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:]。 た と え ば 、 [[:alnum:]][0-9A-Za-z] と 同 じ で す 。 た だ し 、 後 者 が C ロ ケ ー ル や ASCII 文 字 コ ー ド に 依 存 し て い る の に 対 し て 、 前 者 は ロ ケ ー ル や 文 字 集 合 に 依 存 し ま せ ん 。 (こ う し た ク ラ ス 名 に 使 用 さ れ て い る 角 括 弧 は 、 シ ン ボ ル 名 の 一 部 な の で 、 角 括 弧 式 の 前 後 に 付 く 角 括 弧 と は 別 に 指 定 す る 必 要 が あ る こ と に 注 意 し て く だ さ い 。 ) 角 括 弧 式 の 内 側 で は 、 ほ と ん ど の メ タ 文 字 が そ の 特 別 な 意 味 を 持 た な く な り ま す 。 ] と い う 記 号 そ の も の を 角 括 弧 式 に 含 め る に は 、 そ れ を リ ス ト の 先 頭 に 置 い て く だ さ い 。 同 様 に 、 ^ と い う 記 号 そ の も の を 含 め る に は 、 そ れ を 先 頭 以 外 の ど こ か に 置 け ば よ い で し ょ う 。 最 後 に 、 そ の も の を 含 め る に は 、 そ れ を リ ス ト の 最 後 に 置 き ま す 。 行 頭 と 行 末 (ア ン カ リ ン グ ) キ ャ レ ッ ト ^ と ド ル 記 号 $ は 、 そ れ ぞ れ 行 頭 と 行 末 の 空 文 字 列 に マ ッ チ す る メ タ 文 字 で す 。 バ ッ ク ス ラ ッ シ ュ 付 き の 特 別 な 表 現 シ ン ボ ル \< と シ ン ボ ル \> は 、 そ れ ぞ れ 単 語 の 先 頭 と 末 尾 の 空 文 字 列 に マ ッ チ す る メ タ 文 字 で す 。 シ ン ボ ル \b は 単 語 の 端 の 空 文 字 列 に マ ッ チ し ま す 。 シ ン ボ ル \B は 単 語 の 端 以 外 の 空 文 字 列 に マ ッ チ し ま す 。 シ ン ボ ル \w[[:alnum:]] と 同 じ 意 味 で 、 シ ン ボ ル \W[^[:alnum:]] と 同 じ 意 味 で す 。 繰 り 返 し 正 規 表 現 の 後 に は 、 繰 り 返 し 演 算 子 の ど れ か が 続 く こ と が あ り ま す 。

? 直 前 の 項 目 が あ っ て も な く て も よ く 、 マ ッ チ す る と し て も

1 回 だ け と

い う こ と 。

* 直 前 の 項 目 が

0 回 以 上 マ ッ チ す る と い う こ と 。

+ 直 前 の 項 目 が

1 回 以 上 マ ッ チ す る と い う こ と 。

{n} 直 前 の 項 目 が ち

ょ う ど n 回 マ ッ チ す る と い う こ と 。
{
n,} 直 前 の 項 目 が n 回 以 上 マ ッ チ す る と い う こ と 。
{,
m} 直 前 の 項 目 が m 回 以 下 マ ッ チ す る と い う こ と 。
{
n,m} 直 前 の 項 目 が n 回 以 上 m 回 以 下 マ ッ チ す る と い う こ と 。

結 合

2 つ の 正 規 表 現 は 結 合 す る こ と が で き ま す 。 結 果 と し て で き あ が る 正 規 表 現 は 、 結 合 対 象 と な る 部 分 表 現 に そ れ ぞ れ マ ッ チ す る 2 つ の 部 分 文 字 列 を 結 合 し て 作 ら れ る 、 ど ん な 文 字 列 に も マ ッ チ し ま す 。 選 択
2 つ の 正 規 表 現 は 中 置 き 型 演 算 子 の | で 繋 ぐ こ と が で き ま す 。 結 果 と し て で き あ が る 正 規 表 現 は 、 ど ち ら か の 部 分 表 現 に マ ッ チ す る ど ん な 文 字 列 に も マ ッ チ し ま す 。 優 先 順 位 繰 り 返 し は 結 合 に 優 先 し ま す 。 ま た 結 合 は 選 択 に 優 先 し ま す 。 表 現 の 1 つ の ま と ま り を 括 弧 で く く る と 、 そ の 内 側 の 式 を こ う し た 優 先 規 則 よ り さ ら に 優 先 さ せ る こ と が で き ま す 。 括 弧 で く く っ た 部 分 は 、 1 つ の 部 分 表 現 に な る の で す 。 後 方 参 照 と 部 分 表 現
n
が 1 個 の 数 字 で あ る よ う な 後 方 参 照 \n は 、 正 規 表 現 中 の 括 弧 で 囲 ま れ た n 番 目 の 部 分 表 現 が 前 も っ て マ ッ チ し た 文 字 列 と マ ッ チ し ま す 。 基 本 正 規 表 現 と 拡 張 正 規 表 現 基 本 正 規 表 現 で は 、 メ タ 文 字 ?, +, {, |, (, ) は 、 そ の 特 殊 な 意 味 を 失 い ま す 。 バ ッ ク ス ラ ッ シ ュ を 付 け た \?, \+, \{, \|, \(, \) を 代 わ り に 使 用 し て く だ さ い 。 元 々 の egrep は 、 { を メ タ 文 字 と し て サ ポ ー ト し て い ま せ ん で し た し 、 { の 代 わ り に \{ を メ タ 文 字 と し て サ ポ ー ト す る egrep の 実 装 も 存 在 し ま す 。 で す か ら 、 移 植 を 考 慮 し た ス ク リ プ ト で は 、 grep −E の パ タ ー ン で { を 使 用 す る こ と は 避 け る べ き で す 。 { と い う 記 号 そ の も の に マ ッ チ さ せ た い と き は [{] を 使 う と よ い で し ょ う 。

GNUgrep −E は 、 { が 繰 り 返 し 回 数 指 定 の 始 ま り と し て 意 味 を な さ な い 場 合 、 そ れ を 特 殊 文 字 で は な い と 見 な し 、 従 来 の 用 法 の サ ポ ー ト を 試 み ま す 。 た と え ば 、 コ マ ン ド grep −E ’{1’ は 、 正 規 表 現 に 文 法 エ ラ ー が あ る と 報 告 す る か わ り に 、 2 文 字 か ら な る 文 字 列 {1 を 検 索 す る の で す 。 こ の 動 作 は 、 POSIX.2 に よ っ て 拡 張 と し て 認 め ら れ て い ま す が 、 移 植 を 考 慮 し た ス ク リ プ ト で は 使 用 し な い 方 が よ い で し ょ う 。

環 境 変 数

grep の 動 作 は 、 以 下 に 挙 げ る 環 境 変 数 の 影 響 を 受 け ま す 。

LC_foo カ テ ゴ リ の ロ ケ ー ル は 、 LC_ALL, LC_foo, LANG と い う 3 つ の 環 境 変 数 を こ の 順 番 で 調 べ る こ と で 決 ま り ま す 。 こ の 3 つ の 環 境 変 数 の う ち 、 設 定 さ れ て い る 最 初 の も の が 、 LC_foo の ロ ケ ー ル を 決 め る の で す 。 た と え ば 、 LC_ALL が 設 定 さ れ て い ず 、 LC_MESSAGESpt_BR に 設 定 さ れ て い る と し ま し ょ う 。 そ の と き は 、 ブ ラ ジ ル の ポ ル ト ガ ル 語 と い う ロ ケ ー ル が LC_MESSAGES カ テ ゴ リ に 使 用 さ れ る わ け で す 。 こ う し た 環 境 変 数 が ま っ た く 設 定 さ れ て い な か っ た り 、 ロ ケ ー ル の カ タ ロ グ が イ ン ス ト ー ル さ れ て い な か っ た り 、 grep が 各 国 語 サ ポ ー ト ( NLS ) を 有 効 に し て コ ン パ イ ル さ れ て い な か っ た り し た 場 合 は 、 C ロ ケ ー ル が 使 用 さ れ ま す 。
GREP_OPTIONS
こ の 変 数 で は デ フ ォ ル ト の オ プ シ ョ ン を 指 定 し ま す が 、 そ う し た オ プ シ ョ ン は コ マ ン ド ラ イ ン で 明 示 的 に 指 定 す る オ プ シ ョ ン の 前 に 置 か れ る こ と に な り ま す 。 た と え ば 、 GREP_OPTIONS’−−binary-files=without-match −−directories=skip’ な ら ば 、 grep は 、 コ マ ン ド ラ イ ン で 明 示 的 に 指 定 す る オ プ シ ョ ン の 前 に −−binary−files=without-match−−directories=skip の 2 つ の オ プ シ ョ ン が す で に 指 定 さ れ て い る か の よ う に 振 舞 う わ け で す 。 オ プ シ ョ ン を 複 数 指 定 す る と き は 、 空 白 (whitespace) で 区 切 り ま す 。 バ ッ ク ス ラ ッ シ ュ は 次 に 来 る 文 字 を エ ス ケ ー プ す る の で 、 空 白 (whitespace) や バ ッ ク ス ラ ッ シ ュ を 含 む オ プ シ ョ ン を 指 定 す る の に 使 う こ と が で き ま す 。
GREP_COLOR
こ の 変 数 は 、 パ タ ー ン に マ ッ チ し た (空 文 字 列 で は な い ) テ キ ス ト を 強 調 す る た め に 使 用 す る 色 彩 を 指 定 し ま す 。 GREP_COLORS 変 数 を 使 用 す る 方 が 望 ま し く 、 こ の 変 数 は 非 推 奨 な の で す が 、 今 で も 使 え な い こ と は あ り ま せ ん 。 GREP_COLORS 変 数 の mt, ms, mc 機 能 を 使 用 し て い る 場 合 は 、 こ の 変 数 に よ る 指 定 よ り 、 そ ち ら の ほ う が 優 先 さ れ ま す 。 こ の 変 数 に よ っ て 指 定 で き る の は 、 マ ッ チ す る 空 文 字 列 で は な い テ キ ス ト を 強 調 す る た め に 、 マ ッ チ す る 行 な ら ど こ で も 使 用 す る 色 彩 だ け な の で す (マ ッ チ す る 行 は 、 コ マ ン ド ラ イ ン オ プ シ ョ ン -v を 指 定 し な か っ た と き は 、 選 択 さ れ る 行 に な り 、 -v を 指 定 し た と き は 、 前 後 の 文 脈 行 に な り ま す )。 こ の 変 数 の デ フ ォ ル ト の 値 は 01;31 で す が 、 そ れ は タ ー ミ ナ ル の デ フ ォ ル ト の 背 景 色 に 赤 い 前 景 色 の 太 字 で テ キ ス ト を 表 示 す る と い う こ と で す 。
GREP_COLORS
こ の 変 数 は 、 出 力 の さ ま ざ ま な 部 分 を 強 調 す る た め に 使 用 す る 、 色 彩 な ど の 属 性 を 指 定 し ま す 。 こ の 変 数 の 値 は コ ロ ン で 区 切 っ た 機 能 の リ ス ト で あ り 、 デ フ ォ ル ト で は 、 ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 に な っ て い て 、 rvne と い う 真 偽 値 を 取 る 機 能 は 設 定 し て あ り ま せ ん (す な わ ち 、 false に な っ て い ま す )。 使 用 で き る 機 能 は 、 以 下 の と お り で す 。

sl= 選 択 さ れ る 行 全 体 に 適 用 さ れ る

SGR パ ラ メ ー タ (選 択 さ れ る 行

と は 、 コ マ ン ド ラ イ ン で −v オ プ シ ョ ン を 指 定 し な か っ た と き は 、 マ ッ チ す る 行 、 −v オ プ シ ョ ン を 指 定 し た と き は 、 マ ッ チ し な い 行 の こ と で す )。 た だ し 、 値 に 真 偽 値 を 取 る rv 機 能 と コ マ ン ド ラ イ ン ・ オ プ シ ョ ン の −v の 両 方 を 指 定 し た と き は 、 前 後 の 文 脈 行 扱 い に な る マ ッ チ す る 行 に 適 用 さ れ ま す 。 デ フ ォ ル ト は 空 で す (す な わ ち 、 端 末 の デ フ ォ ル ト の 背 景 色 と 前 景 色 の 組 み 合 わ せ )。

cx= 前 後 の 文 脈 行 全 体 に 適 用 さ れ る

SGR パ ラ メ ー タ (前 後 の 文 脈 行

と は 、 コ マ ン ド ラ イ ン で −v オ プ シ ョ ン を 指 定 し な か っ た と き は 、 マ ッ チ し な い 行 、 −v オ プ シ ョ ン を 指 定 し た と き は 、 マ ッ チ す る 行 の こ と で す )。 た だ し 、 値 に 真 偽 値 を 取 る rv 機 能 と コ マ ン ド ラ イ ン ・ オ プ シ ョ ン の −v の 両 方 を 指 定 し た と き は 、 選 択 さ れ る マ ッ チ し な い 行 に 適 用 さ れ ま す 。 デ フ ォ ル ト は 空 で す (す な わ ち 、 端 末 の デ フ ォ ル ト の 背 景 色 と 前 景 色 の 組 み 合 わ せ )。

rv コ マ ン ド ラ イ ン で

−v が 指 定 さ れ て い る と き に 、 sl=cx=

機 能 の 意 味 を 逆 に す る (入 れ 替 え る ) 真 偽 値 。 デ フ ォ ル ト は 空 で す (す な わ ち 、 こ の 機 能 は 指 定 さ れ て い ま せ ん )。

mt=01;31 マ ッ チ す る 行 な ら ど こ で も 、 空 文 字 列 で は な い マ ッ チ す る テ キ ス ト に 適 用 さ れ る SGR パ ラ メ ー タ (マ ッ チ す る 行 は 、 コ マ ン ド ラ イ ン で −v オ プ シ ョ ン を 指 定 し な か っ た と き は 、 選 択 さ れ る 行 に な り 、 −v を 指 定 し た と き は 、 前 後 の 文 脈 行 に な り ま す )。 こ の 機 能 を 設 定 す る の は 、 ms=mc= を 同 時 に 同 じ 値 に 設 定 す る の と 同 じ こ と で す 。 デ フ ォ ル ト は 、 カ レ ン ト 行 の 背 景 色 に 赤 い 前 景 色 の 太 字 に な っ て い ま す 。
ms=01;31
選 択 さ れ る 行 中 の 空 文 字 列 で は な い マ ッ チ す る テ キ ス ト に 適 用 さ れ る SGR パ ラ メ ー タ (こ の 機 能 が 使 用 さ れ る の は 、 コ マ ン ド ラ イ ン で −v オ プ シ ョ ン を 指 定 し な い と き だ け で す )。 sl= 機 能 (rv が 設 定 さ れ て い る と き は 、 cx= 機 能 ) の 効 果 は 、 こ の 機 能 を 使 用 し て も 、 相 変 わ ら ず 有 効 で す 。 デ フ ォ ル ト は 、 カ レ ン ト 行 の 背 景 色 に 赤 い 前 景 色 の 太 字 に な っ て い ま す 。
mc=01;31
前 後 の 文 脈 行 中 の 空 文 字 列 で は な い マ ッ チ す る テ キ ス ト に 適 用 さ れ る SGR パ ラ メ ー タ (こ の 機 能 が 使 用 さ れ る の は 、 コ マ ン ド ラ イ ン で −v オ プ シ ョ ン が 指 定 さ れ て い る と き だ け で す )。 cx= 機 能 (rv が 設 定 さ れ て い る と き は 、 sl= 機 能 ) の 効 果 は 、 こ の 機 能 を 使 用 し て も 、 相 変 わ ら ず 有 効 で す 。 デ フ ォ ル ト は 、 カ レ ン ト 行 の 背 景 色 に 赤 い 前 景 色 の 太 字 に な っ て い ま す 。

fn=35 表 示 さ れ る 行 の 前 に フ ァ イ ル 名 が 付 く と き 、 そ れ に 適 用 さ れ る

SGR パ ラ メ ー タ 。 デ フ ォ ル ト は 、 端 末 の デ フ ォ ル ト の 背 景 色 に マ ゼ ン タ の 前 景 色 の 文 字 で す 。

ln=32 表 示 さ れ る 行 の 前 に 行 番 号 が 付 く と き 、 そ れ に 適 用 さ れ る

SGR

パ ラ メ ー タ 。 デ フ ォ ル ト は 、 端 末 の デ フ ォ ル ト の 背 景 色 に 緑 の 前 景 色 の 文 字 で す 。

bn=32 表 示 さ れ る 行 の 前 に バ イ ト オ フ セ ッ ト が 付 く と き 、 そ れ に 適 用 さ れ る

SGR パ ラ メ ー タ 。 デ フ ォ ル ト は 、 端 末 の デ フ ォ ル ト の 背 景 色 に 緑 の 前 景 色 の 文 字 で す 。

se=36 区 切 り 記 号 に 適 用 さ れ る

SGR パ ラ メ ー タ 。 区 切 り 記 号 と し て

は 、 選 択 さ れ る 行 の フ ィ ー ル ド 間 に は ’:’ を 置 き 、 前 後 の 文 脈 行 の フ ィ ー ル ド 間 に は ’’ を 置 き ま す 。 前 後 の 文 脈 行 の 表 示 が 指 定 さ れ て い る と き は 、 隣 接 行 グ ル ー プ の 間 に ’−−’ を 挿 入 し ま す 。 デ フ ォ ル ト は 、 端 末 の デ フ ォ ル ト の 背 景 色 に シ ア ン の 前 景 色 の 記 号 で す 。

ne 真 偽 値 で す 。 通 常 、 色 付 け さ れ た 項 目 が 終 わ る た び に 、 エ ス ケ ー プ ・ シ ー ケ ン ス

Erase in Line (EL) to Right (\33[K) を 使 用 し て 、 行 末 ま で 消 去 し ま す が 、 ne を 設 定 す る と 、 そ れ を や ら な く な り ま す 。 こ れ は 、 端 末 が EL を サ ポ ー ト し て い な い 場 合 に 必 要 で す 。 そ の ほ か 、 真 偽 値 を 取 る terminfo の 機 能 back_color_erase (bce) を 使 用 し て い な い 端 末 で 、 採 用 し た 強 調 色 が 背 景 に 作 用 し な い 場 合 や 、 EL が 遅 す ぎ た り 、 画 面 に ひ ど い チ ラ つ き を 引 き 起 こ し た り す る 場 合 に も 、 こ れ の 設 定 が 役 に 立 ち ま す 。 デ フ ォ ル ト は false で す (す な わ ち 、 こ の 機 能 は 設 定 さ れ て い ま せ ん )。 真 偽 値 を 取 る 機 能 に は =.. の 部 分 が な い こ と に 注 意 し て く だ さ い 。 そ う し た 機 能 は デ フ ォ ル ト で は 設 定 さ れ て い ず (す な わ ち 、 false)、 設 定 さ れ た と き true に な り ま す 。 使 用 し て い る テ キ ス ト 端 末 の 文 書 に あ る Select Graphic Rendition (SGR) の セ ク シ ョ ン を 見 て 、 使 用 で き る 値 や 、 そ れ が 文 字 属 性 と し て 使 わ れ た と き の 意 味 を 調 べ て く だ さ い 。 SGR パ ラ メ ー タ の 値 は 十 進 法 の 整 数 で あ り 、 セ ミ コ ロ ン で 結 合 す る こ と が で き ま す 。 grep は そ う し た セ ミ コ ロ ン で 結 合 さ れ た 数 字 か ら 完 全 な SGR シ ー ケ ン ス (\33[...m) を 構 成 し ま す 。 結 合 さ れ る 値 で よ く 使 わ れ る も の を 挙 げ る と 、 1 は 太 字 、 4 は 下 線 、 5 は 点 滅 、 7 は 反 転 で す 。 39 は デ フ ォ ル ト の 前 景 色 、 30 か ら 37 は 前 景 色 、 90 か ら 97 は 16 色 モ ー ド の 前 景 色 、 38;5;0 か ら 38;5;255 は 88 色 と 256 色 モ ー ド の 前 景 色 に 使 わ れ ま す 。 ま た 、 49 は デ フ ォ ル ト の 背 景 色 で あ り 、 40 か ら 47 は 背 景 色 、 100 か ら 107 は 16 色 モ ー ド の 背 景 色 、 48;5;0 か ら 48;5;255 は 88 色 と 256 色 モ ー ド の 背 景 色 で す 。

LC_ALL, LC_COLLATE, LANG こ う し た 変 数 は LC_COLLATE カ テ ゴ リ の ロ ケ ー ル を 指 定 し ま す 。 LC_COLLATE[a−z] の よ う な 範 囲 式 を 解 釈 す る と き の 照 合 順 序 を 決 め る も の で す 。
LC_ALL
, LC_CTYPE, LANG こ う し た 変 数 は LC_CTYPE カ テ ゴ リ の ロ ケ ー ル を 指 定 し ま す 。 LC_CTYPE は 文 字 の タ イ プ 、 た と え ば 、 空 白 (whitespace) に 当 た る の は ど の 文 字 と ど の 文 字 か 、 と い っ た こ と を 決 め る も の で す 。
LC_ALL
, LC_MESSAGES, LANG こ う し た 変 数 は LC_MESSAGES カ テ ゴ リ の ロ ケ ー ル を 指 定 し ま す 。 LC_MESSAGESgrep が メ ッ セ ー ジ に 使 う 言 語 を 決 め る も の で す 。 デ フ ォ ル ト の C ロ ケ ー ル で は 、 ア メ リ カ 英 語 の メ ッ セ ー ジ が 使 用 さ れ ま す 。
POSIXLY_CORRECT
こ れ が 設 定 さ れ て い る と 、 grepPOSIX.2 が 要 求 す る と お り の 動 作 を し ま す 。 設 定 さ れ て い な い 場 合 の 動 作 は 、 ほ か の GNU の プ ロ グ ラ ム に よ り 近 い も の で す 。 POSIX.2 の 規 定 で は 、 フ ァ イ ル 名 の 後 に オ プ シ ョ ン が 現 れ た 場 合 、 そ れ を フ ァ イ ル 名 と し て 扱 わ な け れ ば な ら な い こ と に な っ て い ま す 。 こ れ に 対 し て 、 grep の デ フ ォ ル ト で は 、 そ う し た オ プ シ ョ ン を 引 き 数 リ ス ト の 前 の 方 に 移 動 し て 、 オ プ シ ョ ン と し て 扱 い ま す 。 ま た 、 POSIX.2 の 規 定 で は 、 理 解 で き な い オ プ シ ョ ン は “illegal” (違 法 ) と 判 断 す る よ う に な っ て い ま す が 、 そ う し た オ プ シ ョ ン も 法 律 に 違 反 し て い る わ け で は な い の で 、 grep の デ フ ォ ル ト で は 、 “invalid” (無 効 ) と い う 判 断 を 下 し ま す 。

返 り 値

通 常 で は 、 選 択 す る 行 が 見 つ か っ た と き の 終 了 ス テ ー タ ス は 0 で あ り 、 見 つ か ら な か っ た と き は 1 で す 。 エ ラ ー が 起 き た 場 合 は 、 −q , −−quiet , −−silent と い っ た オ プ シ ョ ン が 使 わ れ て い て 、 し か も 、 選 択 す る 行 が 見 つ か っ た と き を 除 い て 、 終 了 ス テ ー タ ス は 2 で す 。 し か し な が ら 、 POSIXgrep, cmp, diff の よ う な プ ロ グ ラ ム に 対 し て 、 エ ラ ー が 起 き た 場 合 の 終 了 ス テ ー タ ス は 2 以 上 で な け れ ば な ら な い 、 と し か 要 求 し て い な い こ と に 注 意 し て く だ さ い 。 で す か ら 、 移 植 性 の た め に は 、 終 了 ス テ ー タ ス が 2 と 厳 密 に 一 致 す る こ と を 調 べ る よ り も 、 こ の 一 般 的 な 条 件 を テ ス ト す る ロ ジ ッ ク を 使 用 し た 方 が よ い で し ょ う 。

著 作 権

Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

バ グ

バ グ の 報 告 バ グ 報 告 は <bug−grep [AT] gnu.org> 宛 に E メ ー ル で 送 っ て く だ さ い 。 こ れ は メ ー リ ン グ リ ス ト で 、 下 記 が そ の Web ペ ー ジ で す 。

<http://lists.gnu.org/mailman/listinfo/bug−grep>
grep
の Savannah バ グ ・ ト ラ ッ カ ー は 下 記 に あ り ま す 。
<http://savannah.gnu.org/bugs/?group=grep> 既 知 の バ ク
{
n,m} を 使 っ て 何 度 も 繰 り 返 し を 行 う と 、 grep は 大 量 の メ モ リ を 消 費 す る か も し れ ま せ ん 。 ま た 、 ほ か の 曖 昧 な 正 規 表 現 に も 、 指 数 関 数 的 な 時 間 と メ モ リ 空 間 を 要 す る も の が あ り 、 grep が メ モ リ 不 足 を 起 こ す こ と が あ り ま す 。 後 方 参 照 は 非 常 に 遅 く 、 と ん で も な く 時 間 が か か る こ と が あ り ま す 。

関 連 項 目

標 準 の マ ニ ュ ア ル ペ ー ジ

awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).

POSIX プ ロ グ ラ マ ー ズ ・ マ ニ ュ ア ル ペ ー ジ
grep(1p).

TeXinfo 文 書
grep
の た め の 充 実 し た 文 書 が 、 TeXinfo マ ニ ュ ア ル の 形 で 保 守 さ れ て い ま す 。 infogrep プ ロ グ ラ ム が 御 使 用 の サ イ ト に き ち ん と イ ン ス ト ー ル さ れ て い る な ら ば 、

info grep と コ マ ン ド を 打 ち 込 む こ と で 、 完 備 し た マ ニ ュ ア ル が 読 め る は ず で す 。

注 記

GNU ’s not Unix, but Unix is a beast; its plural form is Unixen.

訳 者 謝 辞

こ の 翻 訳 は 、 FreeBSD jpman Project <http://www.jp.freebsd.org/man-jp/>; か ら Linux JM project に 寄 贈 し て い た だ い た マ ニ ュ ア ル を 元 に し 、 GNU grep-2.6.3 所 収 の マ ニ ュ ア ル に 合 わ せ て 、 増 補 ・ 改 訂 し た も の で す 。 作 業 に 当 た っ て は 、 FreeBSD jpman Project の 新 し い マ ニ ュ ア ル の 翻 訳 も 参 考 に し ま し た 。 上 記 の 文 書 を 翻 訳 な さ っ た 方 々 に お 礼 を 申 し 上 げ ま す 。

COMMENTS