2041_20T2_Q3

uniq -c之后的处理需要注意。首先是如何搜索那个计数,匹配若干个空格开头然后2之后紧接空格的。
然后截取的时候需要先处理好前面的一大堆空格,不然直接cut -d “ “会出很多空格

1
2
3
4
5
6
7
8
9
#!/bin/dash

sort -t "|" -k 2,2 | # 按照学号进行排序
cut -d "|" -f 2,3 | # 然后把学号和名字截出来
uniq -c | # 统计每个学号出现的次数
grep "^[[:space:]]*2 " | # 截取计数次数为2的行
cut -d '|' -f 1 | # 开始试图截取学号
tr -s ' ' | # 把uniq-c前面产生的空格压缩成一个
cut -d ' ' -f 3 # 最后把学号截出来