私の入力は、次のようにソートされたCSVファイルです(:
通常のカンマではなくフィールド区切り文字として使用されます)。
version:device
1.0.0:dev1
1.0.0:dev2
1.2.3:dev3
1.3.4:dev4
1.3.4:dev5
各バージョンが1行になるように集計したいと思います。
version:devices
1.0.0:dev1,dev2
1.2.3:dev3
1.3.4:dev4,dev5
ベストアンサー1
GNUを使用して、datamash
コロンで区切られた最初のフィールドにグループ化し、2番目のフィールドを折りたたみます。
$ datamash -t : groupby 1 collapse 2 <file
version:device
1.0.0:dev1,dev2
1.2.3:dev3
1.3.4:dev4,dev5