1.排序命令sort
sort [选项] 文件名
选项:
-f:忽略大小写
-b:忽略每行前面的空白部分
-n:以数值型进行排序,默认使用字符串型排序
-r:反向排序
-u:删除重复行,就是uniq命令
-t:指定分隔符,默认分隔符是制表符
-k n[,m]:按照指定的字段范围排序,从第n个字段开始,m字段结束(默认到行尾)
sort命令默认是用每行开头第一个字符来进行排序的:
sort /etc/passwd
如果想要反向排序,请使用“-r”选项:
sort -r /etc/passwd
如果想要指定排序的字段,需要使用“-t”选项指定分隔符,并使用“-k”选项指定字段号。加入我们想按照UID字段排序/etc/passwd文件:
sort -t ":" -k 3,3 /etc/passwd
# 指定分隔符是“:”
# 用第三字段开头,第三字段结尾排序,就是只用第三字段排序
我们发现,UID113出现在UID12的前面,这是为什么?因为在排序的时候是把UID当做字符串而不是整数,所以先按照字符串第一个字符排序,再接着向后排,所以造成这样的问题。如果想按照数字排序,使用“-n”选项:
sort -n -t ":" -k 3,3 /etc/passwd
当然“-k”选项可以直接使用“-k 3”,代表从第三字段到行尾都排序(第一个字符先排序,如果一致,第二个字符再排序,直到行尾)
2.uniq
uniq命令是用来取消重复的命令,其实和“sort -u”选项是一样的
uniq [选项] 文件名
选项:
-i:忽略大小写
3.统计命令wc
wc [选项] 文件名
选项:
-l:只统计行数
-w:只统计单词数
-m:只统计字符数