Bash排序,我不知道';I don’我不知道如何对同一行进行排序,并选择较旧的一行

Bash排序,我不知道';I don’我不知道如何对同一行进行排序,并选择较旧的一行,bash,Bash,我有一些问题,我找不到,也不知道如何在我的脚本中实现良好的排序。我想对一些输入字符串进行排序,以显示冗余(一些重复),并从中返回最大重复的行,例如,如果我有更多相同的重复 输入: qwe1 qwe1 wer2 wer2 wer4 输出://我想要什么 2 qwe1 input: asd1 asd1 asd1 asd2 asd2 asd2 asd3 asd3 asd3 output: // What i want 3 asd1 // If I have a the same name ret

我有一些问题,我找不到,也不知道如何在我的脚本中实现良好的排序。我想对一些输入字符串进行排序,以显示冗余(一些重复),并从中返回最大重复的行,例如,如果我有更多相同的重复

输入:

qwe1
qwe1
wer2
wer2
wer4
输出://我想要什么

2 qwe1 
input:
asd1
asd1
asd1
asd2
asd2
asd2
asd3
asd3
asd3
output: // What i want
3 asd1  // If I have a the same name return id of alphabeticall first 

#!/bin/bash
sort -n|uniq -c -i | sort -dr | head -n1
我尝试了其他类似的论点,但没有找到解决办法

对不起,我的英语不好,有人能帮我吗

sort | uniq -c | sort -nr | awk '{if(a&&a!=$1){print a,b;exit;}a=$1;b=$2}'
其中
-k1nr
表示对第一列进行数字排序和反向排序(从高到低)
-k2
表示第一个键相等时,按第2列(字母顺序)排序

其中
-k1nr
表示对第一列进行数字排序和反向排序(从高到低)

-k2
意味着,如果第一个键相等,则按第2列(字母顺序)排序这可能适用于您:

 sort | uniq -c | sort -nrs | head -1

这可能适合您:

 sort | uniq -c | sort -nrs | head -1

我认为这一切都可以在一个awk命令中完成。考虑这一点:

awk '{freq[$0]++;} END {for (var in freq)
{if (freq[var]>max || (freq[var]==max && var < item)) 
{max=freq[var]; item=var} } print max, item; }' file.txt
awk'{freq[$0]++;}END{for(freq中的变量)
{if(freq[var]>max | |(freq[var]==max&&var
我认为这一切都可以在一个awk命令中完成。考虑这一点:

awk '{freq[$0]++;} END {for (var in freq)
{if (freq[var]>max || (freq[var]==max && var < item)) 
{max=freq[var]; item=var} } print max, item; }' file.txt
awk'{freq[$0]++;}END{for(freq中的变量)
{if(freq[var]>max | |(freq[var]==max&&var