FC2ブログ

拡張正規表現と egrep その3

今回は、複数の正規表現を組み合わせてみました

1:山田太郎:男:43:東京
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
4:千葉信夫:男:16:東京
5:秋山敬一郎:男:44:秋田

100:藤本信:男:40:東京
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡

という内容の costomer.txt というファイルを使い
最初の会員番号を示すフィールドから
指定した会員番号のところを表示するようにします

egrep "^(1|5|103):" costomer.txt
とします
 
結果は
1:山田太郎:男:43:東京
5:秋山敬一郎:男:44:秋田
103:福岡勲:男:41:香川
となります

"^(1|5|103):"
というように、^ の後を囲うことで、行頭の数字になるように
設定しています

もし、"^1|5|103 とすると
最初は目論見どおりですが
後の5 103 は行頭の指定が反映されません

このため、任意のところにしたいときには()での指定が
必要になります

また、egrep のオプションで -o をつけると
マッチする部分のみ表示することも可能です

egrep -o "^(1|5|103):" costomer.txt
とすると
1:
5:
103:

となります

これは、スクリプトなどで修正したときに確認するのに使えそうです

また、このマッチする部分というところを利用して
範囲指定もできます

egrep -o "[0-9].*[0-9]" costomer.txt
とすれば、数字に囲まれている間だけを表示できます

1:山田太郎:男:43
2:井上直子:女:19
3:山本真一:男:43
4:千葉信夫:男:16
5:秋山敬一郎:男:44
100:藤本信:男:40
101:藤本信:男:40
102:加藤純子:女:35
103:福岡勲:男:41
104:桂井昭宏:男:53

応用すれば、単語で範囲指定とかもできそうです

スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック