- 57 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/09/27(日) 16:29:45.68 .net]
- こんな風なテキストファイルlog.txtがあります
%PART_A% a11 a12 13 a21 a21 a23 a31 a32 a33 %PART_B% b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b24 このように%PART_x%(実はxはAとBがランダムに登場)で区切られながら 数行ずつ出力されているテキストを、値だけ(a11〜b24まで)、5列で左詰めの CSV形式に整形するために、こんなスクリプトを作りました(ほとんどawkですが・・・) #!/bin/sh cat log.txt | awk 'BEGIN{FLG=0} /%PART_A%/{FLG=1; getline} /%PART_B%/{FLG=2; getline} {if (FLG==1) {print $1","$2","$3",0,0"} else if (FLG==2) {print $1","$2","$3","$4",0"} }' 期待通り動いてはいるのですが、フラグやgetline周りが、なんか力技?っぽくて 改善の余地があるように思ってます このような処理をawkで書くときって、どのように書くとよいのでしょう
|

|