在滿(mǎn)足【自定義】行相等情況下,對(duì)其它需要的字段做合并
場(chǎng)景:
| 之前 | 之后 | |
|---|---|---|
| A 1 A 2 B 3 C 4 C 5 C 6 |
==> | A ('1', '2') B ('3') C ('4', '5', '6') |
實(shí)現(xiàn):
$ awk '{
lp[$1]=length(lp[$1])==0?"'\''"$2"'\''":lp[$1]", '\''"$2"'\''"
}
END{
for (var in lp)
print var, "("lp[var]")"
}
' Test.txt
原理
lp[] 可視為字典
首次訪(fǎng)問(wèn)時(shí) lp[$1] 為空,賦值為 '$2',之后再次訪(fǎng)問(wèn)時(shí),則賦值為 lp[$1] + , '$2'。
具體執(zhí)行過(guò)程:
1:
lp[A]='1'
2:lp[A]='1', '2'
3:lp[A]='1', '2'lp[B]='3'
...
6:lp[A]='1', '2'lp[B]='3'lp[C]='4', '5', '6'
最后循環(huán)輸出 lp[] 中的結(jié)果!