• ベストアンサー

awk等で、CSVに任意の列を追加する方法

こんにちは。 awkやsedなどで、データが並んだCSVファイルの任意の列に 1列データ(追加の列に入るデータは固定)を入れたいのですが、 良い方法は無いでしょうか? 下記のように x00,x01,・・・x49,x50・・・x98,x99 y00,y01,・・・y49,y50・・・y98,y99 を x00,x01,・・・x49,[追加列],x50・・・x98,x99 y00,y01,・・・y49,[追加列],y50・・・y98,y99 というように入れられるようにしたいです。 列の量は100項目程度あるのですが、大量の変数を使用しないことが条件です。 要は、awkの中に$1. $2, $3・・・$100というように変数をベタ書きしない方法でお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

awkで、 BEGIN{FS=",";OFS=","} {for(i=100;i>50;i--) $(i+1)=$i $51="追加" print }

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8469/18132)
回答No.2

sed -e 's/^\([^,]*,\)\{49\}/&AddText,/' infile