Linux/UNIX を使う人は正規表現をゼヒ知っておいてほしいところです。
逆に知らないと、謎の挙動に悩むことになります。
たとえば grep を使うときに IP アドレスを探そうとしましょう。
grep '192.168.1.0' ほにゃほにゃー
などとやってしまうと、
192.168.110.20 とかも平気で検索に引っかかってきます。
コレは正規表現で '.' (ピリオド=ドット) が任意の一文字に match するから。
とはいっても正規表現はプログラムによって、どこまでサポートされるのかが違いますし、
perl レベルなのか sed レベルなのかでは () (カッコ) の記述方法とかも違います。
というわけで、今回は正規表現を使わない方法について。
grep シリーズの中には fgrep という grep があります。
grep との違いは正規表現が有効か否か。
メールアドレスとか IP アドレスとか正規表現を利用したくないときに便利です。
実際に簡単な例で試してみると、こんな感じ。
# プロンプトは bash ポイですが、tcsh 上の処理です
ちょっと覚えてると大変便利ですよー。
[k-square@server] ~
$ cat > a
b
c
d
e
f
g
^D
[k-square@server] ~
$ fgrep '.' a
[k-square@server] ~
$ echo $status
1
[k-square@server] ~
$ grep '.' a
b
c
d
e
f
g
[k-square@server] ~
$ echo $status
0