2009年11月アーカイブ

ワイルドカードgrep についてです。

grep でワイルドカードを使った例です。

001.txtがあるとして
001.txtのファイルの中身は次のとおり。

$ cat 001.txt
I have a pen
pen
I love you

001.txt をgrep
$ grep 'I .*' 001.txt
I have a pen
I love you


$ grep 'p.*' 001.txt
I have a pen
pen


.* を使った例でした。





サーバ構築(ランキング)
egrepは、expression grep ともいう。


 
サーバ構築(ランキング)
awkでの配列とsplit関数について
サーバ構築(ランキング)
正規表現の行末$についてです。

リストの表示

bash$ ls -1
GPL
Hamlet
Humpty
chess
chess2
cpu
hurricane
months
music
rain
rgb
sum.awk

正規表現$で行末が2を表示する。

bash$ ls -1 | grep 2$
chess2

正規表現$で行末がcを表示する。
bash$ ls -1 | grep c$
music


正規表現$と^で 4文字の行を表示する。

bash$ ls -1 | grep ^....$
rain

正規表現$と^で 5文字の行を表示する。
bash$ ls -1 | grep ^.....$
chess
music

正規表現$と^で 7文字の行を表示する。

bash$ ls -1 | grep ^.......$
sum.awk

正規表現$で ss2を行末の行を表示する。

bash$ ls -1 | grep ss2$
chess2


サーバ構築(ランキング)
正規表現の^について

^ は行頭をあらわします。

行の頭の言葉か文字にマッチさせます。

例です。

リストの表示

$ ls -l

total 19
-rw-r--r--   1 500      everyone    17982 Nov 05 18:02 GPL
-rw-r--r--   1 500      everyone       44 Nov 05 18:02 Hamlet
-rw-r--r--   1 500      everyone      146 Nov 05 18:02 Humpty
-rw-r--r--   1 500      everyone      105 Nov 05 18:02 chess
-rw-r--r--   1 500      everyone      105 Nov 05 18:02 chess2
-rw-r--r--   1 500      everyone       38 Nov 05 18:02 cpu
-rw-r--r--   1 500      everyone       64 Nov 05 18:02 hurricane
drwxr-xr-x  16 500      everyone        0 Nov 05 18:02 months
省略・・・

ディレクトリのみ表示

$ ls -l | grep ^d
drwxr-xr-x  16 500      everyone        0 Nov 05 18:02 months



bash$ ls -l | grep ^-
-rw-r--r--   1 500      everyone    17982 Nov 05 18:02 GPL
-rw-r--r--   1 500      everyone       44 Nov 05 18:02 Hamlet
-rw-r--r--   1 500      everyone      146 Nov 05 18:02 Humpty
省略・・・


例2

リストの表示

bash$ ls -1
GPL
Hamlet
Humpty
chess
chess2
cpu
hurricane
months
music
rain
rgb
sum.awk

行の頭に4文字の後にawkがある行を表示する。

bash$ ls -1 | grep ^....awk
sum.awk

行の頭にrがある行にマッチ

bash$ ls -1 | grep ^r
rain
rgb

行の頭にhがある行にマッチ

bash$ ls -1 | grep ^h
hurricane

行の頭にHがある行にマッチ

bash$ ls -1 | grep ^H
Hamlet
Humpty



サーバ構築(ランキング)