awk '{print $2}' test.txt |sort |uniq |wc -l
-
待处理文本如下:
$ cat test.txt 10003141 98 优秀 10003446 80 良好 10003460 85 优秀 10003967 50 不及格 10004205 70 及格 10004526 88 优秀 10005500 98 优秀 10005583 65 及格 10005677 55 不及格 10005828 50 不及格
目的:得到第二列成绩列的去重并排序的结果
-
选定第二列
$ awk '{print $2}' test.txt |less 98 80 85 50 70 88 98 65 55 50 (END)
-
利用管道命令命令排序
$ awk '{print $2}' test.txt |sort |less 50 50 55 65 70 80 85 88 98 98
-
去重并统计
$ awk '{print $2}' test.txt |sort |uniq |wc -l 8 $
注:想将结果输出为新文本可以采用
$ awk '{print $2}' test.txt |sort |uniq >test2.txt
- 如有不妥,请指示正,谢谢阅读!
作者:togetlife