选项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会忽略每一行前面的所有空白部分从第一个可见字符开始比较。

腾讯云轻量服务器两款低价年付套餐 2核4GB内存8M带宽 年74元

昨天,有在"阿里云秋季促销活动 轻量云服务器2G5M配置新购年60元"文章中记录到阿里云轻量服务器2GB内存、5M带宽一年60元的活动,当然这个也是国内机房的。我们很多人都清楚备案是需要接入的,如果我们在其他服务商的域名备案的,那是不能解析的。除非我们不是用来建站,而是用来云端的,是可以用的。这不看到其对手腾讯云也有推出两款轻量服务器活动。其中一款是4GB内存、8M带宽,这个比阿里云还要狠。这个真...

如何低价香港服务器购买?有没有便宜的香港服务器推荐?

如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...

HostYun:联通AS9929线路,最低月付18元起,最高500Mbps带宽,洛杉矶机房

最近AS9929线路比较火,联通A网,对标电信CN2,HostYun也推出了走联通AS9929线路的VPS主机,基于KVM架构,开设在洛杉矶机房,采用SSD硬盘,分为入门和高带宽型,最高提供500Mbps带宽,可使用9折优惠码,最低每月仅18元起。这是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选。...

linuxsort为你推荐
绿色桌面背景图片什么类的桌面背景图好看?滚筒洗衣机和波轮洗衣机哪个好波轮洗衣机和滚桶洗衣机哪个好?哪个更实用?传奇类手游哪个好什么传奇手游还不错的 不烧钱 比较耐玩点法兰绒和珊瑚绒哪个好法兰绒和珊瑚绒哪个好被套好闪迪和金士顿哪个好tf卡闪迪和金士顿哪个更好浏览器哪个好用浏览器哪个好朗逸和速腾哪个好大众速腾与朗逸哪个好尼康和佳能单反哪个好入门的单反相机 佳能和尼康哪个好?网校哪个好有什么网校比较好行车记录仪哪个好最好的行车记录仪是什么牌子
外国虚拟主机 已经备案域名 西安电信测速 ddos kvmla 免费ftp空间 permitrootlogin 华为4核 免费网站申请 宁波服务器 世界测速 河南移动网 in域名 架设邮件服务器 服务器维护 smtp服务器地址 电信网络测速器 photobucket 主机返佣 ncp 更多