亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Linux之sort命令使用入門詳解

標簽:
Linux

sort是在Linux里非常常用的一个命令,将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

这里有一个文件test,内容为:

8723 23423

321324 213432

23 234

123 231

234 1234

654 345234

    

1. sort的-t选项和-k选项

sort提供了-t选项,后面可以设定间隔符, -k来指定列数。


对第一列排序

sort test

对第二列进行排序

sort -k 2 test

如果将test文件的内容改为:

8723,23423

321324,213432

23,234

123,231

234,1234

654,345234

如果要对第二列按照大小排序

sort -t "," -k 2 test

如果没有-t选项的话,就是默认的空格或者tab键,因此上面就没有使用-t选项。


2. 倒序排列使用 -r 选项

sort默认的排序方式是升序,-r参数则是改成降序

sort -r test

输出结果:

8723 23423

654 345234

321324 213432

234 1234

23 234

123 231


3. sort的-n选项

sort默认按ASCII码值进行比较, 所以大家看上面2中的结果会发现, 8723 比 321324 却排在了最前面。 那我们如何让它按照数字大小排序呢?这时候就该-n参数出场了。

sort -n test

输出结果:

23 234

123 231

234 1234

654 345234

8723 23423

321324 213432

sort -rn test

输出结果:

321324 213432

8723 23423

654 345234

234 1234

123 231

23 234



附:sort命令参数详解


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


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


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


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


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


-u  在输出行中去除重复行, 不改变文件本身内容

原文来源:https://m.pythontab.com/article/1077


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消