LoginSignup
8
6

More than 5 years have passed since last update.

awk, gawkで捕捉グループ(capturing group)、

Last updated at Posted at 2013-01-22

この記事は最終更新から1年以上経過しています。 気をつけてね。

単純なxmlのパースをshellからもやりたい場合、gawk(awk)でやってみる。

タグの中だけ取りたい例。

$ echo "<url>http://www.example.com</url>" | gawk 'match($0, /<url>(.*)<\/url>/, a) {print a[1]}'
http://www.example.com

gawkのマッチ部分について

  1. $0は貰った文字列
  2. // で正規表現
  3. 元の文字列とマッチグループを 配列aに格納

で、a[0]が元の文字、a[1]にマッチグループの一番目。

solaris系ならawkでも可。
スクリプト内ならBASH_REMACHを使っても出来るけど、ちょっと長くなる。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6