• ベストアンサー

awkで最後の列だけ除外する方法

「awkのみ」で最後の列だけを区切り文字も含めて除外するのに、スマートな方法は無いでしょうか? x1,x2,x3,…,x98,x99,x100 を x1,x2,x3,…,x98,x99 とする方法です。 $ awk {$100="";print $0} だと最後のカンマが残りますし、かといってprint $1, $2,…$98, $99 はダサいのでやめたいのですが・・・

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

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

BEGIN{FS=OFS=","} {NF--;print} かな。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

例えば { sub(/,[^,]*$/, ""); print $0 } でいかない? awk じゃなくて sed なら sed -e 's/,[^,]*$//' だけだけどね.