linux - 打印重复条目的行号

标签 linux bash awk sed grep

我有一个以下格式的文件:

ABRA CADABRA
ABRA CADABRA
boys
girls
meds toys

我希望返回任何重复行的行号,因此结果如下所示:

1
2

我更喜欢使用 Linux 工具的简短单行命令。我尝试过使用 awk 和 sed 进行实验,但尚未成功。

最佳答案

这会起作用:

nl file.txt | uniq -f 1 -D | cut -f 1
  • nl在每行前面添加一个行号
  • uniq查找重复项
    • -f 1 忽略第一个字段,即行号
    • -D(仅)打印重复的行
  • cut -f 1 仅显示第一个字段(行号)

关于linux - 打印重复条目的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33290761/

相关文章:

bash - bash 无法接受用户输入

python - 如何决定是否在 ubuntu 终端启动时使用 miniconda

linux - awk 更新到 txt

bash - 喂 awk 位置参数

c - 无法编译 GTK 程序

c - 停止 make 将警告视为错误

c - 为什么 ififd 的 pci linux 实现使用 "platform_driver"而不是 "pci_driver"?

php - 由 supervisord 管理的程序的时间戳日志

linux - 求和列取决于 linux 中的另一列

linux - 在 UNIX 中,如何查找昨天或更早登录的用户