我有一个文件,上面有一些重复的行。我只想在这些重复的末尾放一个序列号。
例。
输入:
Jose da Silva
Jose da Silva
Fulano de Tal
Jose da Silva
Sicrano Pereira
Ze Ruela
Sicrano Pereira
Jose da Silva
输出:
Jose da Silva #1
Jose da Silva #2
Fulano de Tal
Jose da Silva #3
Sicrano Pereira #1
Ze Ruela
Sicrano Pereira #2
Jose da Silva #4
我无法对这些行进行排序。它们必须以相同的顺序出现。
循环
两次:
awk 'FNR==NR {count[$0]++; next}
count[$0]>1 {$0=$0 FS "#"++times[$0]}
1' file file
即:第一次,计算每行出现多少次。第二次,继续将递增的数字附加到多次出现的数字中。
$ awk 'FNR==NR {count[$0]++; next} count[$0]>1 {$0=$0 FS "#"++times[$0]}1' file file
Jose da Silva #1
Jose da Silva #2
Fulano de Tal
Jose da Silva #3
Sicrano Pereira #1
Ze Ruela
Sicrano Pereira #2
Jose da Silva #4