我有一个文件在第一个字段中有重复的值。文件共有 4 个字段。我想合并剩余 3 个字段的值。
输入文件:
123|abc123||GFD
234|xyz456|tsdrf34526|KLD
123||cdft091|GFD
123|abc123|cdft091|GFD
456|sdf872||LHG
期望的输出:
123|abc123|cdft091|GFD
234|xyz456|tsdrf34526|KLD
456|sdf872||LHG
有人可以帮忙吗?
答案1
这是一个awk
似乎可以满足紧急要求的程序......
#!/bin/awk -f
BEGIN {FS = "|"; OFS="|"}
{
a[$1]++
f1[$1] = $2
f2[$1] = $3
f3[$1] = $4
}
END { for (i in a) print i, f1[i], f2[i], f3[i] }