首页 > 试题广场 >

第二列是否有重复

[编程题]第二列是否有重复
  • 热度指数:26283 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个nowcoder.txt文件,其中有3列信息,如下:
20201001 python 99
20201002 go 80
20201002 c++ 88
20201003 php 77
20201001 go 88
20201005 shell 89
20201006 java 70
20201008 c 100
20201007 java 88
20201006 go 97
编写一个shell脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息(先按次数排序,如果次数相同,按照单词字母顺序排序),输入如下
2 java
3 go
示例1

输入

20201001 python 99
20201002 go 80
20201002 c++ 88
20201003 php 77
20201001 go 88
20201005 shell 89
20201006 java 70
20201008 c 100
20201007 java 88
20201006 go 97

输出

2 java
3 go
cat  $1 |awk '{print $2}'  |sort  |uniq -c|sort |grep -v 1
发表于 2021-07-09 13:15:39 回复(0)
cat  $1 |awk '{print $2}'  |sort  |uniq -c|sort |grep -v 1
发表于 2020-11-12 21:24:34 回复(0)
awk '{print $2}' nowcoder.txt | sort | uniq -cd | sort -n

发表于 2021-01-12 00:37:53 回复(0)
awk '
    {x[$2]++}END{
    for(i in x){
        if(x[i]>1)
            print x[i],i
    }
 }
'

发表于 2021-08-01 16:13:35 回复(1)
cat nowcoder.txt |awk '{ \
count[$2]++} \
END{ \
for(i in count){if(count[i] > 1){ \
print sount[i],i} \
} \
}' 
发表于 2021-03-13 03:36:04 回复(1)
awk '{a[$2]++} END{for(i in a) {if(a[i]>=2){print a[i]" "i}}}' nowcoder.txt 

发表于 2021-01-07 17:53:35 回复(0)
awk '{print $2}' | sort | uniq -c | sort -n | awk '$1!=1{print $0}'
编辑于 2024-02-16 16:45:23 回复(0)
awk '{print $2}' nowcoder.txt |sort |uniq -cd |sort
发表于 2023-11-24 14:43:47 回复(0)
 awk '{print $2}' nowcoder.txt|sort|uniq -c|awk '$1>1{print $1,$2}'|sort
发表于 2023-10-21 18:59:16 回复(0)
awk '{
    if($0 && $2)
        map[$2]++;
}END{
    for(j in map)
        if(map[j] > 1)
            printf("%d %s\n", map[j], j);
}' | sort -nk1 -k2
发表于 2023-09-22 10:51:36 回复(0)
cut -f2 -d' ' | sort | uniq -d -c | sort 


发表于 2023-08-25 16:14:22 回复(0)
awk '{
    mp[$2]+=1;
}
END{
    for (i in mp){
    if(mp[i]>1)
        print mp[i]" "i
    }
 
}' nowcoder.txt | sort -n
发表于 2023-07-05 14:40:57 回复(0)

#!/bin/bash
awk '{print $2}' nowcoder.txt | sort | uniq -c | sort -nk1,1 -k2,2 | awk '$1>1{print $1,$2}'

发表于 2023-04-29 16:46:03 回复(0)
awk '{a[$2]++} END {for (i in a) print a[i], i}' nowcoder.txt | sort -k1,1 -k2,2 | awk '$1>1{print $1, $2}'
发表于 2023-04-06 11:31:09 回复(0)
awk '{arr[$2]++}END{for(i in arr){if(arr[i]>1){print arr[i],i}}}'|sort -nk1


发表于 2023-02-09 12:25:57 回复(0)
cat nowcoder.txt | awk '{print $2}'|sort|uniq -c|sort -n | tail -2  
先获取第二列然后排序去重统计获取最后两个
发表于 2023-01-15 10:13:57 回复(0)
awk '{print $2}' nowcoder.txt |sort|uniq -c|grep -wv "1"|sort
发表于 2023-01-11 10:35:07 回复(0)
cat nowcoder.txt | awk '{print $2}' | sort | uniq -c | awk '{if($1>1) print$0}' | sort
发表于 2023-01-10 21:40:14 回复(0)
cat nowcoder.txt | awk '{print $2}' | sort | uniq -c | sort | grep -v '1'
发表于 2023-01-03 15:20:36 回复(0)
awk '{print $2}' nowcoder.txt |sort |uniq -c |sort -n |awk '$1>=2 {print $1,$2}'

发表于 2022-10-25 22:37:40 回复(0)