牛客-SHELL10-第二列是否有重复

题干:

给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个shell脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:
实例:
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

题解:

cut -d' ' -f2 nowcoder.txt | sort -r | uniq -c | awk -F' ' '{if($1 > 1){print $0}}'

思路

  1. 首先需要将第二列字符串给提取出来。cut可以进行列切割,-d指定分割列的字符,-f指定提取的列。
  2. 然后为了能使用uniq的特性,需要先使用sort进行一下排序,然后uniq去下重,-c参数表示只显示重复行,并列出重复次数。
  3. 最后使用awk命令遍历uniq后的结果,判断其重复次数是否大于1,如果大于就输出。

注:只分享下思路,具体的命令如有不懂麻烦自学下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值