n行目ごとに新しい列を開始する方法は?

n行目ごとに新しい列を開始する方法は?

Linuxシステムには、カンマで区切られた3つの列を持つファイルがあります。 4行目ごとに新しい列を開始したいと思います。

入力する:

col1,col2,col3 
1,disease1,high
1,disease2,low 
1,disease3,high
col1,col2,col3 
2,disease1,low 
2,disease2,low 
2,disease3,high
col1,col2,col3
3,disease1,low
3,disease2,low
3,disease3,low

予想出力:

col1,col2,col3,col1,col2,col3,col1,col2,col3
1,disease1,high,2,disease1,low,3,disease1,low
1,disease2,low,2,disease2,low,3,disease2,low
1,disease3,high,2,disease3,high,disease3,low

つまり、私は4行の出力を望み、各行はカンマで接続された4番目の入力行の結果です。

ベストアンサー1

そしてawk

awk '{a[NR%4] = a[NR%4] (NR<=4 ? "" : ",") $0}
     END{for (i = 1; i <= 4; i++) print a[i%4]}' < input.txt

おすすめ記事