スポンサーリンク

for文でn列目以降を出力するのが楽

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

列変数を使って、$1,$2,$3,,,というようにprint出力するのもできますが、
手間もかかり限界もありますね。
参考:awkの$0,$1,$2,$3,変数で列の操作

for文を使うと良いと思いますが、ポイントを書いてみます。

1行の列数はNF変数で取得できるので、下記のように、i <= NFとloop条件を指定します。 参考:awkのNF変数で列数に応じた処理をする

また、print出力だと改行が入るので、printfを使うと良いですね。
更に、printfなので区切り文字の設定も必要ですね。今回はカンマにしました。
そして、最終列を除外して区切り文字を出力する必要もあります。

1行毎に、改行も必要なので、下記のように設定します。
参考:awkのprintfで改行を付与する

スポンサーリンク

サンプルコード

例えば、下記のin.txtがあったとします。

下記がサンプルコードになります。
2列目以降を出力しています。

下記が実行結果になります。

スポンサーリンク