选项linuxsort命令的用法

linuxsort  时间:2021-01-26  阅读:()

linux sort命令的用法s o rt是在L inux里非常常用的一个命令管排序的集中精力五分钟搞定s o rt现在开始

1 sort的工作原理sort将文件的每一行作为一个单位相互比较 比较原则是从首字符向后依次按ASCII码值进行比较最后将他们按升序输出。

[roc rocket@roc rocke t programming]$ cat seq.txtbananaapp lep e arorange

[rocrocket@rocrocket p rogramming]$so rt se q.txtapp lebananaorangep e ar

2 sort的-u选项

它的作用很简单就是在输出行中去除重复行。

[roc rocket@roc rocke t programming]$ cat seq.txtbanana

app lep e arorangep e ar

[roc rocket@rocrocket programming]$ sort seq.txtapplebananao ran g ep e arpear

[ro crocket@ro crocket programming]$sort-u seq.txtapp lebananaorangep e arp e ar由于重复被-u选项无情的删除了。

3 sort的-r选项sort默认的排序方式是升序如果想改成降序就加个-r就搞定了。[rocro cket@rocrocket progr ammin g]$c at number.txt

1

3

5

2

4

[ro crocket@ro crocket programming]$sort number.txt

1

2

3

4

5

[roc rocket@roc rocke t programming]$ sort -r number.txt

5

4

3

2

1

4 sort的-o选项

由于sort默认是把结果输出到标准输出所以需要用重定向才能将结果写入文件形如sort filename>newfile。

但是如果你想把排序结果输出到原文件中用重定向可就不行了。

[rocrocket@rocrocket programming]$ sort -r number.txt>numb er.txt

[rocrocket@rocrocket programming]$ cat number.txt

[rocrocket@rocrocket p rogramming]$

看竟然将numb er清空了。

就在这个时候 -o选项出现了它成功的解决了这个问题让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。

[rocro cket@rocrocket progr ammin g]$c at numb er.txt

1

3

5

2

4

[ro crocket@ro crocket programming]$sort-r numbe r.txt -o number.txt

[rocrocket@rocrocket p rogramming]$cat number.txt

5

4

3

2

1

5 sort的-n选项

你有没有遇到过10比2小的情况。我反正遇到过。 出现这种情况是由于排序程序将这些数字按字符来排序了排序程序会先比较1和2显然1小所以就将10放在2前面喽。这也是sort的一贯作风。

我们如果想改变这种现状就要使用-n选项来告诉sort “要以数值来排序”

[rocrocket@rocrocket programming]$ cat number.txt

1

10

19

11

2

5

[roc rocket@roc rocke t programming]$ sort numb er.txt

1

10

11

19

2

5

[rocrocket@rocrocket p rogramming]$so rt-n numb er.txt

1

2

5

10

11

19

6 sort的-t选项和-k选项

如果有一个文件的内容是这样

[roc rocket@roc rocke t programming]$ cat faceb ook.txtbanana:30:5.5app le:10:2.5p e ar:90:2.3orange:20:3.4

这个文件有三列列与列之间用冒号隔开了第一列表示水果类型第二列表示水果数量第三列表示水果价格。

那么我想以水果数量来排序也就是以第二列来排序如何利用sort实现

幸好 sort提供了-t选项后面可以设定间隔符。 是不是想起了cut和paste的-d选项共鸣

指定了间隔符之后就可以用-k来指定列数了。

[roc rocket@roc rocke t programming]$ sort -n-k 2-t :facebook.txtapp le:10:2.5o ran g e:20:3.4banana:30:5.5p e ar:90:2.3

我们使用冒号作为间隔符并针对第二列来进行数值升序排序结果很令人满意。

7其他的sort常用选项

-f会将小写字母都转换为大写字母来进行比较亦即忽略大小写

-c会检查文件是否已排好序如果乱序则输出第一个乱序的行的相关信息最后返回1

-C会检查文件是否已排好序如果乱序不输出内容仅返回1

-M会以月份来排序 比如JAN小于FEB等等

-b会忽略每一行前面的所有空白部分从第一个可见字符开始比较。

BuyVM($5/月)不限流量流媒体优化VPS主机 1GB内存

BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...

1核1G仅38元/月起野草云服务器,香港/美国洛杉矶CN2+BGP云服务器,

野草云服务器怎么样?野草云是一家成立了9年的国人主机商家,隶属于香港 LucidaCloud Limited (HongKong Registration No. 2736053 / 香港網上查冊中心)。目前,野草云主要销售香港、美国的VPS、虚拟主机及独立服务器等产品,本站也给大家分享过多次他家的优惠了,目前商家开启了优惠活动,香港/美国洛杉矶CN2+BGP云服务器,1核1G仅38元/月起!点击...

乐凝网络支持24小时无理由退款,香港HKBN/美国CERA云服务器,低至9.88元/月起

乐凝网络怎么样?乐凝网络是一家新兴的云服务器商家,目前主要提供香港CN2 GIA、美国CUVIP、美国CERA、日本东京CN2等云服务器及云挂机宝等服务。乐凝网络提供比同行更多的售后服务,让您在使用过程中更加省心,使用零云服务器,可免费享受超过50项运维服务,1分钟内极速响应,平均20分钟内解决运维问题,助您无忧上云。目前,香港HKBN/美国cera云服务器,低至9.88元/月起,支持24小时无理...

linuxsort为你推荐
郑州软银科技有限公司河南/郑州网站设计公司哪家做的最好呀?てっっっ软银支付日本支付平台杀毒软件哪个好杀毒软件哪个好用压缩软件哪个好解压软件哪个好三国游戏哪个好玩三国类单机游戏哪个最好玩啊?炒股软件哪个好用用手机股票软件哪个好电陶炉和电磁炉哪个好电陶炉和电磁炉哪个好手机炒股软件哪个好免费手机炒股软件哪个好?手机炒股软件哪个好什么手机炒股软件好用,你们都用哪个红茶和绿茶哪个好红茶和绿茶 那个更好
西部数码vps 主机测评 winhost realvnc 最好看的qq空间 java虚拟主机 最好的空间 申请个人网站 怎么测试下载速度 135邮箱 双11秒杀 速度云 泉州移动 河南移动m值兑换 爱奇艺vip免费领取 上海服务器 安徽双线服务器 空间登陆首页 云营销系统 starry 更多