awkを使用して列を行に変更する

awkを使用して列を行に変更する

私は次のリストを持っています:

AA 1
AA 2
AA 3
B 4
B 4
C 5
C 6
C 7
C 8

awkを使って次の出力に変更したいと思います。

AA 1 2 3
B 4 4
C 5 6 7 8

AWKを使ってこれを行う方法を教えてください。

ベストアンサー1

最初のフィールドで配列を作成し、rec2番目のフィールドを配列に保存し、最後に結果を並べ替えます。

awk '{ rec[$1]=rec[$1] " " $2 }
END { for (key in rec) print key rec[key] }
' file.txt | sort

おすすめ記事