Linux Sort 命令
来源:互联网 发布:bid.js.sgcc.com.cn 编辑:程序博客网 时间:2024/05/17 02:36
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
1 sort的工作原理
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear
2 sort的-u选项
它的作用很简单,就是在输出行中去除重复行。
[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
pear
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear
pear
[rocrocket@rocrocket programming]$ sort -u seq.txt
apple
banana
orange
pear
pear由于重复被-u选项无情的删除了。
3 sort的-r选项
sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。
$ sort -r number.txt5 sort的-n选项
你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。
我们如果想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”!
6 sort的-t选项和-k选项
如果有一个文件的内容是这样:
[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。
那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?
幸好,sort提供了-t选项,后面可以设定间隔符。(是不是想起了cut和paste的-d选项,共鸣~~)
指定了间隔符之后,就可以用-k来指定列数了。
[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
- linux中的sort命令
- 【linux命令】sort技巧
- linux sort 命令详解
- linux sort 命令详解
- Linux 中的 sort 命令
- [Linux] sort命令
- Linux sort 命令 使用
- Linux命令之sort
- linux sort 命令详解
- Linux sort命令详解
- linux sort 命令
- linux sort命令使用
- linux 命令之sort
- linux命令之sort
- linux sort 命令详解
- linux sort命令
- Linux sort命令解析
- linux sort命令
- [转载]RCP开发中实用的Eclipse系统类
- 深究AngularJS——ng-drag、ng-drop
- spring quartz 12张表的功能作用
- 正则表达
- 把账号和密码藏在计算机内!
- Linux Sort 命令
- _stdcall 调用需要注意的问题
- java.concurrent 包类的总结
- objc非主流代码技巧
- Android5.0之后的页面切换动画
- discuz绑定微信公众号后,微信扫二维码登录转发实现
- Mac 下使用brew install 报错: Error: Cowardly refusing to `sudo brew install'
- iOS 关于枚举的使用
- Java 多线程