Tonysan’s blog

ほぼ自分のための Tips 集


刺され!

grep

grep

global regular expression print の略。
直訳すると全体正規表現(regular expression)出力とかになる?
よく | で橋渡しされて検索などで使われる。

正規表現

特殊文字(メタ文字)を使って文字列をパターンとして指定できる機能。
標準規格がない。
LinuxPOSIX にて正規表現の標準規格が定められている。
基本正規表現と、拡張正規表現の2種類。
拡張正規表現を使うには、

grep -E
egrep

どちらかを使う。

代表的なメタ文字と使用例

記号 意味 使用例 一致する文字列の例 基本 拡張
. 任意の1文字 abc. abcd、abca
^ 行頭 ^abc abc から始まる行
$ 行末 abc$ abc で終わる行
[ ] [ ] の中のどれか1文字 [abc] abc のどれかが含まれる行
※[ ] 内のメタ文字は通常の文字として扱われる
[a-z] a-z のアルファベットのどれか1文字 a[a-z]c aac、abc、acc
[^ ] [ ] の中にない、どれか1文字 [^abc] abc 以外が含まれる行
( ) ( ) の中の文字列 (abc) 文字列 abc が含まれる行
* 直前の文字の0回以上の繰り返し abc* ab、abc、abcc
+ 直前の文字の1回以上の繰り返し abc+ abc、abcc、abccc
? 直前の文字がまったくないか一つだけある abc? ab、abc
| 左右いずれかの文字列 ab|bc ab か bc のどちらかが含まれる行
\ エスケープ記号 \\ メタ文字を通常の文字として扱う