我有一个包含20个字段的csv文件:v1:v20。是否有任何方法可以在v5之后添加另一个字段,这将是字段2到5的串联?例如,假设文件头是:
v1, v2, v3, v4, v5, v5, v7,...
a, b, c, d, e, f, g,....
我希望它看起来像这样:
v1, v2, v3, v4, v5, new.field, v5, v7,...
a, b, c, d, e, bcde, f, g,...
答案 0 :(得分:1)
gawk -F ' *, *' -v OFS=',' '
{
$6 = (NR==1 ? "new.field," : $2 $3 $4 $5 ",") $6
print
}' input.csv
v1,v2,v3,v4,v5,new.field,v5,v7,...
a,b,c,d,e,bcde,f,g,....
答案 1 :(得分:0)
这可能对您有用:
sed 's/,/\n,/5;h;s/\n.*//;s/[, ]//g;G;s/\([^\n]*\)\n\([^\n]*\)\n/\2, \1/' file