トップページ | 過去記事(月別カテゴリー別) | 掲示板 | 野良DEB,RPM | 更新チェック | Twitter
<<  2010.9  >>
SMTWTFS
   1234
567891011
12131415161718
19202122232425
2627282930  
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー
    Google

カテゴリー » Linux » Fedora September 22, 2010

Fedora の awk(gawk?) は switch が使えないのかー Fedora

最近、大きめのテキストファイルを加工することがよくあるのですが、使い慣れたシェルスクリプトでやると処理に時間が掛かってイライラ、イライラ… でもperlやrubyの知識は無い。覚える情熱も無い。ってことでAWK(オークと読むのか知らんかった)を少し勉強した今日この頃です。プログラミングの知識が乏しい私でも、すぐにそれなりのテキスト処理ができるようになれて幸せ。

でも、非常に気に入らない点がある。switch case 文が使えない。
$ awk 'BEGIN{
	hoge="あああ"
	switch(hoge){
		case /あああ/:
		print "OK"
	}}'

awk: コマンドライン:2: switch(hoge){
awk: コマンドライン:2:             ^ syntax error
awk: コマンドライン:3: case /あああ/:
awk: コマンドライン:3:       ^ 表現の char '�' は不正です。
どうやらビルド時に ./configure --enable-switch しないといけないらしい。なんでデフォルトで有効じゃないんだろ? ずらずらと if、else if を並べるのは見栄えが悪いぞ。

Ubuntuの gawk は switch に対応している。
02:18 am | コメントする |

上の記事に対するコメント

1. hi_saito (Website)  2010/09/22 23:48
gawk の開発者の Arnold が以前「そろそろデフォルトで有効にしてもいいかな」と言っていた気がするのですが、ずっとオプション指定ですね。
開発版の xgawk (開発が進んでいるのか謎ですが) ではデフォルトで switch-case が使えますので、将来的にはデフォルトになるんじゃないかと思います。

2. Owner CommentSawa  2010/10/25 02:14
やっぱりswitchしたいので自分でビルドすることにしました。互換性が減りますが、誰かに配布なんてしないし。

コメントをどうぞ。名前とURLはオプションです。

Comment Form
NAME:
URL:
文字色:  

累計:59553、今日:739、昨日:691
Created in 0.0175 sec.