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

spinservers春节优惠:$149/月10Gbps圣何塞服务器-2*E5-2630Lv3 CPU,256G内存,2*1.6T SSD硬盘

spinservers是Majestic Hosting Solutions LLC旗下站点,商家提供国外服务器租用和Hybrid Dedicated等产品,数据中心包括美国达拉斯和圣何塞机房,机器默认10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。农历春节之际,商家推出了几款特别促销配置,最低双路E5-2630Lv3机器每月149美元起,下面列出几款机器...

10gbiz首月半价月付2.36美元,香港/洛杉矶VPS、硅谷独立服务器/站群服务器

收到10gbiz发来的7月份优惠方案,中国香港、美国洛杉矶机房VPS主机4折优惠码,优惠后洛杉矶VPS月付2.36美元起,香港VPS月付2.75美元起。这是一家2020年成立的主机商,提供的产品包括独立服务器租用和VPS主机等,数据中心在美国洛杉矶、圣何塞和中国香港。商家VPS主机基于KVM架构,支持使用PayPal或者支付宝付款。洛杉矶VPS架构CPU内存硬盘带宽系统价格单核512MB10GB1...

justhost:“第4次VPS测评”,8.3元/月,200M带宽,不限流量,KVM虚拟,4个俄罗斯机房应有适合你的

justhost.ru官方来消息说已经对网络进行了比较全面的优化,针对中国电信、联通、移动来说,4个机房总有一个适合中国用户,让站长进行一下测试,这不就有了这篇有关justhost的VPS的第四次测评。本帖主要关注的是网络,对于其他的参数一概不管! 官方网站:https://justhost.ru 最低配VPS:8.3元/月,KVM,512M内存,5G硬盘,200M带宽,不限流量 购买链接:...

linuxsort为你推荐
可爱桌面背景图片浪漫桌面壁纸租车平台哪个好手机租赁平台哪个好?浮动利率和固定利率哪个好银行贷款是选固定利率好还是浮动利率录音软件哪个好手机录音软件哪个好用手机杀毒软件哪个好手机杀毒清理软件哪个好啊无纺布和熔喷布口罩哪个好活性碳口罩和无纺布口罩有什么不同?手机炒股软件哪个好什么手机炒股软件好用,你们都用哪个网校哪个好市面上的网校,谁最好?雅思和托福哪个好考雅思和托福哪个好考一点美国国际东西方大学凭高考成绩可以申请哪些海外大学?
虚拟主机服务器 新网域名 荷兰vps 域名解析服务器 阿里云os wdcp 光棍节日志 12u机柜尺寸 win8.1企业版升级win10 国外空间 40g硬盘 有益网络 爱奇艺vip免费领取 免费网页空间 申请网页 宏讯 注册阿里云邮箱 测试网速命令 tracker服务器 phpinfo 更多