Linux sort命令详解

本文详细介绍Linux下sort命令的使用方法,包括基本语法、常用参数及其应用场景。通过具体示例展示了如何实现数字排序、倒序排列、去除重复项及自定义分隔符等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

&
%
12edf
2
234123 ^
342sdfs
546
adfasd   this is last one %
adsftgrt
c
cfwesdf
er
fgth
w

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

2).使用-n参数排列

[root@admin t2]# sort -n a.txt 或cat a.txt | sort -n

&
%
adfasd   this is last one %
adsftgrt
c
cfwesdf
er
fgth
w
2
12edf
342sdfs
546
234123 ^

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

3).按数字倒序排列

[root@admin t2]# cat a.txt | sort -nr
234123 ^
546
342sdfs
12edf
2
w
fgth
er
cfwesdf
c
adsftgrt
adfasd   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列进行排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值