【发布时间】:2015-06-27 18:42:04
【问题描述】:
我有一个如下所示的文本文件:
abc
bcd
abc
efg
bcd
abc
预期的输出是这样的:
3 abc
2 bcd
1 efg
我知道有一个现有的解决方案:
sort -k2 < inFile |
awk '!z[$1]++{a[$1]=$0;} END {for (i in a) print z[i], a[i]}' |
sort -rn -k1 > outFile
代码排序、删除重复项并再次排序,并打印预期的输出。 但是,有没有更简单的方法来表达 z[$1]++{a[$1]=$0} 部分?我的意思是更“基本”。
【问题讨论】:
-
当
abc出现3 次时,为什么预期输出有2 abc?
标签: bash sorting awk text-files duplicate-removal