我有一个文件,除最后一列外,其余各列可能相同。对于相同的列,我要打印一行具有相同列的行,并在最后一列中用逗号分隔它们对应的最后一列条目。
File1.txt
a 2 10 a
a 2 10 c
b 5 8 c
b 7 2 a
c 9 0 d
c 9 0 c
c 9 0 a
预期产量
a 2 10 a,c
b 5 8 c
b 7 2 a
c 9 0 d,c,a
我知道该怎么做(昏迷换行);但不是这个。
答案 0 :(得分:0)
以下来自https://stackoverflow.com/users/10248678/oguz-ismail的答案非常有效。似乎答案以某种方式被删除了。因此,我将其发布
awk '{k=$1;for(i=2;i<=NF-1;++i) k=(k FS $i)} pk!=k{if(NR>1) print "";pk=k;printf "%s",$0;next} {printf ",%s",$NF} END{print ""}'