如果我有一个包含以下内容的文本文件

red apple
green apple
green apple
orange
orange
orange

有没有Linux命令或脚本可以用来获得以下结果?

1 red apple
2 green apple
3 orange

推荐答案

通过sort发送(将相邻项目放在一起),然后通过uniq -c发送计数,即:

sort filename | uniq -c

要按排序顺序(按频率)获取列表,您可以

sort filename | uniq -c | sort -nr

Linux相关问答推荐

将UTC字符串日期时间转换为毫秒UTC时间戳

AWK打印到文件正在追加,而不是覆盖

记录终端输入和输出的 Bash 脚本

Docker 默认使用交换文件吗?

为什么 liburing 写入性能低于预期?

使用ansible配置Linux VM使用vmware_vm_shell模块时变成su?

从 bash shell 等效项在fish shell 上设置 $ANDROID_SDK_ROOT

增加 mysql docker 中的 max_allowed_pa​​cket 大小

在 64 位 Linux 操作系统上编译 32 位程序导致致命错误

如何在 shell 脚本中动态生成新的变量名?

适用于 Linux 和 Mac 的 HTTP 调试代理

从 shell 将多个 .sql 转储文件导入 mysql 数据库

有没有办法在整个项目代码中的某个日期之后找出更改的文件?

如何列出附加到Linux中共享内存段的进程?

从 FTP 服务器下载所有文件

如何链接到 GCC 中特定版本的共享库

bash中变量名后的2个逗号是什么意思?

grep 递归查找 Linux 上的特定文件类型

如何在我的终端中编辑文本文件

Linux shell 中的排序和唯一性