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

CloudCone,美国洛杉矶独立服务器特价优惠,美国洛杉矶MC机房,100Mbps带宽不限流量,可选G口,E3-1270 v2处理器32G内存1Gbps带宽,69美元/月

今天CloudCone发布了最新的消息,推送了几款特价独立服务器/杜甫产品,美国洛杉矶MC机房,分配100Mbps带宽不限流量,可以选择G口限制流量计划方案,存储分配的比较大,选择HDD硬盘的话2TB起,MC机房到大陆地区线路还不错,有需要美国特价独立服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2...

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

老用户专享福利 腾讯云 免费领取轻量云2核4G服务器一年

感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...

linuxsort为你推荐
海贼王644海贼王第644集在哪看视频制作软件哪个好我想学做视频跟作图,推荐下什么软件好杰士邦和杜蕾斯哪个好杰士邦和杜蕾斯哪个好?大家都用哪款套套啊?清理手机垃圾软件哪个好什么手机清理软件最好?51空间登录51空间怎么进51个人空间登录51.com个人空间怎么无法登录?51个人空间登录为什么登陆51博客个人空间就不能登陆QQqq空间登录电脑手机怎么登qq空间电脑版?空间登录qq手机QQ能不能直接登录空间而不用上QQwillyunlee电影拳皇演的是什么意思
vps代购 域名交易网 香港加速器 kdata z.com 国外服务器 kddi 免备案cdn 国外空间 mysql主机 北京主机 panel1 e蜗牛 100x100头像 泉州电信 91vps 网站卫士 vip域名 linux使用教程 Updog 更多