テキストファイル内でドル記号 ($) を含む行を検索すると想定します。正規表現内のドル記号の前にバックスラッシュ (¥) を付けると、$ が持つ特殊な意味を無視 (エスケープ) するよう grep に指示できます。その他のメタキャラクタ (& ! . * ? および ¥ 自身など) についてもこの方法を適用できます。
たとえば、次の正規表現は、ピリオド (.) で始まる行と一致するため、nroff や troff の書式要求 (ピリオドで始まるもの) を検索するときに非常に便利です。
$ grep '^¥.' filename |
次の表 4-1 は、grep で利用できる検索パターン文字のうち、頻繁に使われる文字のリストです。
表 4-1 grep の検索パターン文字
文字 |
意味 |
---|---|
^ |
テキスト行の先頭 |
$ |
テキスト行の終わり |
. |
任意の 1 文字 |
[...] |
角括弧内のリストまたは範囲に含まれる任意の 1 文字 |
[^...] |
角括弧内のリストまたは範囲に含まれない任意の 1 文字 |
* |
その直前の文字または正規表現のゼロ個以上の繰り返し |
.* |
任意の 1 文字のゼロ個以上の繰り返し |
¥ |
その後の文字が持つ特殊な意味を無効にする |