文章目录
Tips
sort跟awk一样可以根据指定的域进行排序,默认的域分隔符是空格
sort
-c 测试文件是否已经被排序
-k 指定排序的域
-n 根据数字大小进行排序
-r 将排序结果逆向显示
-t 指定域分割符
-u 去除重复的行
-m 合并两个已经排序的文件
-h 按单位排序,KB,MB(比较实用,通常与其他参数配合使用,如 sort -k3h 7.txt)
uniq
-c 打印每行在文中出现的次数
-d 只显示有重复的记录,每个重复记录只出现一次
-u 只显示没有重复的记录
示例
cat /etc/passwd | sort -t: -k3 -n
cat aa | sort -t: -k3 -n | uniq
案例一:sort如何对ip地址进行排序
# ipv4有四段,要求第一段排序后,再根据第二段进行排序,依次类推(实现 当第一个字段一样时才对比第二个字段)
# 解释:
-n # 以自然数大小排序;
-t . # 指定小数点为分隔符,将ip地址分割成4段;
-k1,1 # 将第一个字段设置为主排序字段(优先排序字段)
-k2,2 # 其次设置第二个字段优先进行排序
[root@localhost ~]# cat ip.txt | sort -n -t . -k1,1 -k2,2 -k3,3 -k4,4
110.52.211.156
116.163.59.98
175.10.210.28
175.10.252.29
175.10.36.208
175.10.39.241
220.168.114.63
220.170.201.29
220.170.201.31
220.170.201.32
220.170.201.33
222.242.128.135
222.242.128.136
222.242.128.137
222.242.128.138
223.144.100.10
223.144.100.6
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论