Zbrel 发表于 2017-8-7 16:24:01

认识bash shell5--管道命令(pipe)之排序命令sort, wc, uniq

本帖最后由 Zbrel 于 2017-8-7 17:46 编辑

排序命令sort, wc, uniq
① sort:可以依据不同的数据型态来排序,如数字与文字型态的排序就不一样。
sort [-fbMnrtuk]
-f :忽略大小写的差异,例如 A 不 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,预设是用 键来分隔;
-k :以那个区间 (field) 来进行排序
例如:个人账号都记录在/etc/passwd下,将账号进行排序:cat /etc/passwd | sort 默认是以文字型态来排序的,所以结果是由a开始排到最后。
/etc/passwd内容是以:来分隔的,想以第三栏来排序:cat /etc/passwd | sort -t ‘:’ -k 3

② uniq:排序完成后,需要将重复的资料仅列出一个显示
uniq [-ic]
-i :忽略大小写字符的不同;
-c :进行计数
例如:使用last将账号列出,仅取出账号栏,进行排序后仅取出一位:last | cut -d ‘ ‘ -f 1 | sort |uniq
还想要知道每个人的登入次数:last | cut -d ‘ ‘ -f 1 | sort |uniq -c

③ wc:可以计算输出的讯息的整体数据,如档案有多少字,有多少行,多少字符。
wc [-lwm]
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符
例如: /etc/man.config 里面到底有多少相关字、行、字符数:cat /etc/man.config | wc
页: [1]
查看完整版本: 认识bash shell5--管道命令(pipe)之排序命令sort, wc, uniq