引き続き、拡張正規表現 egrep についてです
今回は、会員番号で検索するというのをやってみます
使用するファイルは
costomer.txt
です
内容は
1:山田太郎:男:43:東京
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
4:千葉信夫:男:16:東京
5:秋山敬一郎:男:44:秋田
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
となっています
それでは、会員番号3桁のところだけを調べます
egrep “^[0-9]{3}:” costomer.txt
これで
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
となります
まず、最初の^で行頭を意味し
次の [0-9] で 0~9まで
そして {3} で3回繰り返す
つまり、100~999までになります
また、ゾロ目の数値だけを取り出すこともできます
今回は
年齢のフィールドを対象にして年齢がゾロ目の人を表示します
ゾロ目を表示するには、
文字列を()で囲ってグループ化し
さらに
\1 を使って後方参照します
後方参照は \1 を使ってのグループ呼び出しです
egrep “:([0-9])\1” costomer.txt
を実行すると
5:秋山敬一郎:男:44:秋田
となります
この
([0-9])\1
の部分がゾロ目を意味しています