我有一个csv文件,大约有50列,可以在20到100行之间。
各个记录都有ID,一些记录可以在一个2的组中。本质上,我需要做的是将ID添加到该组中的另一个ID所在的同一行。示例:
ID ,group,blank column
2019-1 , ,
2019-2 ,GRP1 ,
2019-3 ,GRP2 ,
2019-4 ,GRP1 ,
2019-5 , ,
2019-6 ,GRP2 ,我想要的输出是:
ID ,group,blank column
2019-1 , ,
2019-2 ,GRP1 ,2019-4
2019-3 ,GRP2 ,2019-6
2019-5 , ,在我使用awk的尝试中,我没有任何运气。我要么忽略没有组的行,要么重复值。
发布于 2019-02-11 19:10:07
perl -a -F, -ne 'if($F[1]=~/\S/) { push @{$d{$F[1]}}, $F[0]; } else { print ; }
END {
for(keys %d){
print shift @{$d{$_}},",$_, ",@{$d{$_}},"\n"
}
}' my.csvhttps://unix.stackexchange.com/questions/500009
复制相似问题