我的意见
cat file
ABC
ABC
DEF
DEF
ABC
GHI
GHI
DEF
我想要的输出
ABC_1
ABC_2
DEF_1
DEF_2
ABC_3
GHI_1
GHI_2
DEF_3
任何人都可以帮忙,我用谷歌搜索了很多,但仍然不知道如何在unix中获取输出。
答案1
$ awk '{print $1 "_" ++c[$1]}' file
ABC_1
ABC_2
DEF_1
DEF_2
ABC_3
GHI_1
GHI_2
DEF_3
上面使用了一个 awk 命令:print $1 "_" ++c[$1]
。这将打印第一个字段,后跟_
,然后是迄今为止第一个字段被看到的次数。
答案2
awk '$0=$0"_"++n[$0]' #comment