使用shell将列数据转换为键值对

时间:2017-12-02 14:27:29

标签: shell unix awk

我有一个包含3列的文件,如下所示

1 104 Sam                        
1 0   Sam                 
2 18 George                     
2 26 George 

我希望将其转换为

1:[104,0,Sam]               
2:[18,26,George] 

我们可以使用shell脚本或类似awk命令来实现这一点。

1 个答案:

答案 0 :(得分:-4)

将输入保存在文件testdata中 然后你可以使用这样的东西

cat testdata | awk 'BEGIN{i=1}{line[i++]=$0}END{j=1; while (j<i) {print line[j],line[j+1]; j+=2}}' | awk '{print $1":" "[" $2 "," $5 "," $6 "]"}'