gpt4 book ai didi

linux - 如何计算文本文件中唯一行、重复行和出现三次的行的数量

转载 作者:太空狗 更新时间:2023-10-29 12:00:54 27 4
gpt4 key购买 nike

我有一个名字列表,每行一个名字保存为 .txt 文件。

我正在尝试使用 bash 来确定有多少不同的名称出现了一次、两次或三次。

例如:

names.txt 看起来像

Donald
Donald
Lisa
John
Lisa
Donald

在这种情况下,唯一行的数量为 1,有 1 次重复,1 个名称出现 3 次。我正在尝试使用 uniq 将这些金额放在更大的列表中。我知道我可以将 uniq -uuniq -d 用于唯一性和重复性,但我不太确定如何处理出现 3 次的名称。

最佳答案

$ echo 'Donald
Donald
Lisa
John
Lisa
Donald' | sort | uniq -c | awk '{print $1}' | sort | uniq -c
1 1
1 2
1 3

右列是重复次数,左列是具有该重复次数的唯一名称的数量。例如。 “Donald”的重复次数为 3。

更大的例子:

echo 'Donald
Donald
Rob
Lisa
WhatAmIDoing
John
Obama
Obama
Lisa
Washington
Donald' | sort | uniq -c | awk '{print $1}' | sort | uniq -c
4 1
2 2
1 3

四个名字(“Rob”、“WhatAmIDoing”、“John”和“Washington”)的重复次数均为 1。两个名字(“Lisa”和“Obama”)的重复次数均为 2。一个名字(“Donald”)的重复次数为 3。

关于linux - 如何计算文本文件中唯一行、重复行和出现三次的行的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37037420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com