sort 选项
-u --去除重复行
-r --降序排列,默认是升序
-o --由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。这个时候就需要用到-o选项,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在,例:sort filename -o filename
-n --在通常情况下shell排序会义为10比2小的情况。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将1 0放在2前面喽。这也是sort的一贯作风。我们如果想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”!
-t和-k --当一行数据有多列的情况,想让非第1列的数值来排序,用法 sort -n -k 2 -t : facebook.txt 1、sort的选项用法
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
例:
[root@web1 ~]# cat seq.txt
banana
apple
pear
orange
[root@web1 ~]# sort seq.txt
apple
banana
orange
pear 2、sort的-u选项,它的作用很简单,就是在输出行中去除重复行。
[root@web1 ~]# cat seq.txt
banana
apple
pear
orange
pear
[root@web1 ~]# sort seq.txt
apple
banana
orange
pear
pear
[root@web1 ~]# sort -u seq.txt
apple
banana
orange
pear pear由于重复被-u选项无情的删除了。 3、sort的-r选项,sort默认的排序方式是升序,如果想改成降序,加个-r
[root@web1 ~]# cat number.txt
1
3
5
2
4
[root@web1 ~]# sort number.txt
1
2
3
4
5
[root@web1 ~]# sort -r number.txt
5
4
3
2
1 4、sort的-o选项 由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。 但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。 [root@web1 ~]# sort -r number.txt > number.txt
[root@web1 ~]# cat number.txt
[root@web1 ~]#
看,竟然将number清空了。 就在这个时候,-o选项出现了,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。 [root@web1 ~]# cat number.txt
1
3
5
2
4
[root@web1 ~]# sort -r number.txt -o number.txt
[root@web1 ~]# cat number.txt
5
4
3
2
1 5、sort的-n选项 你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。 我们如果想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”! [root@web1 ~]# cat number.txt
1
10
19
11
2
5
[root@web1 ~]# sort number.txt
1
10
11
19
2
5
[root@web1 ~]# sort -n number.txt
1
2
5
10
11
19 6、sort的-t选项和-k选项 如果有一个文件的内容是这样: [root@web1 ~]# cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4 这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。 那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现? 指定了间隔符之后,就可以用-k来指定列数了。 [root@web1 ~]# sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

  

sort基本用法的更多相关文章

  1. Perl Sort函数用法总结和使用实例

    一) sort函数用法 sort LISTsort BLOCK LISTsort SUBNAME LIST sort的用法有如上3种形式.它对LIST进行排序,并返回排序后的列表.假如忽略了SUBNA ...

  2. qsort()与sort的用法(收藏)

    sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为:#include<stdlib.h> ...

  3. sort的用法

    早一段时间一直没有理解sort的用法,在早几天终于是研究的明白的,所以就来分享一下,如果你也被这个方法困扰,没懂原理,可以看一下这遍文章,希望有所帮助. 第一种,最简单的排序,纯数字排序: var a ...

  4. C++ sort函数用法

    参考文档:http://hi.baidu.com/posinfo/item/dc3e73584c535cc9d2e10c27 C++ sort函数用法 FROM:http://hi.baidu.com ...

  5. 1806最大数 string和sort函数用法

    1.C++自带sort函数用法 sort函数有三个参数: (1)第一个是要排序的数组的起始地址 (2)第二个是结束的地址(最后一位要排序的地址) (3)第三个参数是排序的方法,可以是从大到小也可是从小 ...

  6. sort函数用法

    原文链接:http://blog.csdn.net/csust_acm/article/details/7326418 sort函数的用法 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己 ...

  7. C++ STL sort()函数用法

    C++STL提供的在里的排序函数,有以下两种形式 此外还提供有稳定排序版本stable_sort(),用法类似. 第一种形式: template <class RandomAccessItera ...

  8. c++中sort基础用法

    用法一:数组排序 对一个数组进行升序排序 #include <algorithm> #include <iostream> #include <cstdio> us ...

  9. C++ 中的sort排序用法

    STL中就自带了排序函数sortsort 对给定区间所有元素进行排序 要使用此函数只需用#include <algorithm> sort即可使用,语法描述为:sort(begin,end ...

随机推荐

  1. [转载] go get 拉取第三方包过慢、卡住解决方案

    修改go env,选用国内的代理地址下载.

  2. Hyperledger Fabric无排序组织以Raft共识算法启动多个Orderer服务、多组织共同运行维护Orderer服务

    前言 在Hyperledger Fabric无系统通道启动及通道的创建和删除中,我们已经完成了以无系统通道的方式启动 Hyperledger Fabric 网络,并将链码安装到指定通道.但目前为止,实 ...

  3. 算法基础③--DFS解决迷宫问题入门

    迷宫问题 通过深度优先搜索(DFS)方法实现. 迷宫问题一 一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道. 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头 ...

  4. Python装饰器:套层壳我变得更强了

    Python装饰器:套层壳我变得更强了 Python装饰器:套层壳我变得更强了 关于作用域和闭包可以聊点什么? 什么是作用域 什么是闭包 装饰器:套层壳我变得更强了 参考资料 昨天阅读了<Pyt ...

  5. 数据结构篇(1) ts实现栈的基本操作和解决相关问题

    interface Stack { _items: any push(element: any): void pop(): any top(): any size(): any isEmpty(): ...

  6. vite创建vue3+ts项目流程

    vite+vue3+typescript搭建项目过程   vite和vue3.0都出来一段时间了,尝试一下搭vite+vue3+ts的项目 相关资料网址 vue3.0官网:https://v3.vue ...

  7. 【CSAPP】Data Lab实验笔记

    前天讲到要刚CSAPP,这一刚就是两天半.CSAPP果然够爽,自带完整的说明文档,评判程序,辅助程序.样例直接百万组走起,管饱! datalab讲的是整数和浮点数怎么用二进制表示的,考验的是用基本只用 ...

  8. jfinal极速开发

    下载jfinal项目,上面都配置好了不用自己新建从头配置.https://jfinal.com/ idea打开项目 配置数据库 resources目录下demo-config-dev.txt # co ...

  9. Android添加布局和按键

    Android添加布局和按键 Android布局方式分为 1.LinearLayout (线性布局) 2.ConstraintLayout (约束布局) 3.FrameLayout (帧布局) 4.T ...

  10. 基础路径规划算法(Dijikstra、A*、D*)总结

    引言 在一张固定地图上选择一条路径,当存在多条可选的路径之时,需要选择代价最小的那条路径.我们称这类问题为最短路径的选择问题.解决这个问题最经典的算法为Dijikstra算法,其通过贪心选择的步骤从源 ...