选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同;-b :忽略最前面的空格符部分;-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;-n :使用『纯数字』进行排序(默认是以文字型态来排序的);-r :反向排序;-u :就是 uniq ,相同的数据中,仅出现一行代表;-t :分隔符,默认是用 [tab] 键来分隔;-k :以那个区间 (field) 来进行排序的意思
对命令的应用如下:
1.对/etc/passwd的账号进行排序
eg. [root@li493-137 ~]# awk -F: '{ print $1 }' /etc/passwd | sort
也可以直接 cat /etc/passwd | sort 上边的命令是为了摘选出用户名
2. sort的-t可以用来指定分隔符,默认是以 【TAB】为分隔符的,
-k用来指定 第几列的
-n用来指定 以数字来排序的
eg. #cat /etc/passwd | sort -t ":" -k3n (不用-n参数的时候,默认还是以字符串来排序的)
3. 先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序。
cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r
……………………………………………………………………………………………………
uniq的语法: 一般情况下,对于文件先经过排序,然后uniq才能发挥作用,因为uniq只识别相邻的重复行
选项与参数:-i :忽略大小写字符的不同;-c :进行计数-u :只显示唯一的行
案例: cat aaa
helloworldaaahelloworldaaahelloworldaaa
eg. 1. cat aaa | sort | uniq == cat aaa | sort -u
aaahelloworld
2. uniq -c 可以在去重之后,显示出,出现次数
# cat aaa | sort | uniq -c
3 aaa 3 hello 3 world
3. uniq -u 表示,仅仅显示不重复的行