我想将.csv中的所有重复名称更改为唯一的,但在找到重复名称后,我无法到达上一行,因为它已经打印出来了.我try 保存数组中的所有行,并将它们打印到END部分,但它不起作用,而且我不知道如何访问该数组中的特定字段(awk中不支持二维数组?).
样本输入
...,9,phone,...
...,43,book,...
...,27,apple,...
...,85,hook,...
...,43,phone,...
期望输出
...,9,phone9,...
...,43,book,...
...,27,apple,...
...,85,hook,...
...,43,phone43,...
我的try ($2-id字段,$3-name字段)
BEGIN{
FS=","
OFS=","
marker=777
}
{
if (names[$3] == marker) {
$3 = $3 $2
#Attempt to change previous duplicate
results[nameLines[$3]]=$3 id[$3]
}
names[$3] = marker
id[$3] = $2
nameLines[$3] = NR
results[NR] = $0
}
END{
#it prints some numbers, not saved lines
for(result in results)
print result
}