Linux sort命令详解

来源:互联网 发布:ppmeet网络视频会议 编辑:程序博客网 时间:2024/04/29 16:28

10、sort排序命令

语法:sort [-option] filename
参数:

  • -n : 以数字顺序排序
  • -r : 倒序排列
  • -u : 剔除重复
  • -k : 指定排序的列,默认为第一列
  • -t : 指定列间的分隔符,默认为空格(不支持复杂分隔符,如“::”)

1).使用不带参数的sort命令对/home/t2/a.txt文件内容进行排序

[root@admin t2]# sort a.txt 或者 [root@admin t2]# ls a.txt | sort&%12edf2234123 ^342sdfs546adfasd   this is last one %adsftgrtccfwesdferfgthw

从上面的结果可以看出,这里的数字是以其对应的ASCII码的大小为依据的,而同类型的排序中又是首先按第一位字符排序,然后按第二位字符排序,依次类推

2).使用-n参数排列

[root@admin t2]# sort -n a.txt 或cat a.txt | sort -n&%adfasd   this is last one %adsftgrtccfwesdferfgthw212edf342sdfs546234123 ^

这里为什么数字开头的还排到了字母开头的后边呢?很奇怪吧!原因就是-n参数是以十进制的数字排序的,如果前面不是数字的就会被认成0,所以字母开头的被排在数字开头的前面

3).按数字倒序排列

[root@admin t2]# cat a.txt | sort -nr234123 ^546342sdfs12edf2wfgthercfwesdfcadsftgrtadfasd   this is last one %%&

4).通过改变默认分隔符和排序的列进行排序

[root@admin etc]# cat passwd | sort -t : -k 3 [root@admin etc]# cat passwd | sort -n -t : -k 3 

上面命令的意思是对/etc/passwd文件的内容改变默认分隔符为“ :”,然后对第3列进行排序。

0 0
原创粉丝点击