linux常备工具之sort

sort命令非常简单,且容易理解。先来看几个常用的例子。

下面是一个文件1.txt

$ cat 1.txt 
a
c
b
e
c
g
f
d

简单的使用场景

下面对这个文件中的内容进行排序:

不加任何参数,直接排序

$ sort 1.txt 
a
b
c
c
d
e
f
g

使用-r参数反向排序

$ sort -r 1.txt 
g
f
e
d
c
c
b
a

使用-u参数去掉重复的数据

$ sort -u 1.txt 
a
b
c
d
e
f
g

重复的字符c没有了。

使用-n参数按照数值大小来排序

-n, --numeric-sort
compare according to string numerical value

复杂一点的场景

先看一个文件a.txt

kite-MacBook:tmp kite$ cat a.txt 
10.39.48.189     cuiyk-cdn-test-1
10.39.48.25      cuiyk-cdn-test-2
10.39.48.227     cuiyk-cdn-test-3
10.39.48.239     cuiyk-cdn-test-4
10.39.48.188     cuiyk-cdn-test-5
10.39.48.226     cuiyk-cdn-test-6
10.39.48.238     cuiyk-cdn-test-7
10.39.48.173     cuiyk-cdn-test-8
10.39.48.178     cuiyk-cdn-test-9
10.39.48.24      cuiyk-cdn-test-10
10.39.48.248     cuiyk-cdn-test-11
10.39.48.244     cuiyk-cdn-test-12
10.39.48.245     cuiyk-cdn-test-13

这里要用到两个参数

  • -k[column]n 按照第column列排序
  • -t[char] 指定分隔符为char

按照ip排序

$ sort -t. -k4n a.txt 
10.39.48.24      cuiyk-cdn-test-10
10.39.48.25      cuiyk-cdn-test-2
10.39.48.173     cuiyk-cdn-test-8
10.39.48.178     cuiyk-cdn-test-9
10.39.48.188     cuiyk-cdn-test-5
10.39.48.189     cuiyk-cdn-test-1
10.39.48.226     cuiyk-cdn-test-6
10.39.48.227     cuiyk-cdn-test-3
10.39.48.238     cuiyk-cdn-test-7
10.39.48.239     cuiyk-cdn-test-4
10.39.48.244     cuiyk-cdn-test-12
10.39.48.245     cuiyk-cdn-test-13
10.39.48.248     cuiyk-cdn-test-11

上面的例子是以.为分隔符,并按照第4列排序。

按照主机名排序

kite-MacBook:tmp kite$ sort -t- -k4n a.txt 
10.39.48.189     cuiyk-cdn-test-1
10.39.48.25      cuiyk-cdn-test-2
10.39.48.227     cuiyk-cdn-test-3
10.39.48.239     cuiyk-cdn-test-4
10.39.48.188     cuiyk-cdn-test-5
10.39.48.226     cuiyk-cdn-test-6
10.39.48.238     cuiyk-cdn-test-7
10.39.48.173     cuiyk-cdn-test-8
10.39.48.178     cuiyk-cdn-test-9
10.39.48.24      cuiyk-cdn-test-10
10.39.48.248     cuiyk-cdn-test-11
10.39.48.244     cuiyk-cdn-test-12
10.39.48.245     cuiyk-cdn-test-13

上面的例子是以-为分隔符,并按照第4列排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值