摘要:会以月份来排序,比如小于等等依照数值的大小排序。输出文件将排序后的结果存入指定的文件。以相反的顺序来排序。分隔字符指定排序时所用的栏位分隔字符。选择以哪个区间进行排序。
介绍
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参数-b 会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。 -c 会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1。 -C 会检查文件是否已排好序,如果乱序,不输出内容,仅返回1 -u 输出重复行 -f 会将小写字母都转换为大写字母来进行比较,亦即忽略大小写。 -M 会以月份来排序,比如JAN小于FEB等等 -n 依照数值的大小排序。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 -k 选择以哪个区间进行排序。实例
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
[root@localhost ~]# cat sort.txt banana apple pear orange [root@localhost ~]# sort sort.txt apple banana orange pear [root@localhost ~]# sort sort2.txt 12345 #注意是按acii码的升序排列 221 339 349 782 999去除重复行
[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 pearsort的-o选项 输出到文件
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt [rocrocket@rocrocket programming]$ cat number.txt [rocrocket@rocrocket programming]$
看,竟然将number清空了。
就在这个时候,-o选项出现了,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。
[rocrocket@rocrocket programming]$ cat number.txt 1 3 5 2 4 [rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt [rocrocket@rocrocket programming]$ cat number.txt 5 4 3 2 1-n选项,按数字排序
[root@localhost ~]# sort -r sort2.txt 999 782 349 339 221 12345 #默认是按字符排序,由前到后,这里最前面的1最小 [root@localhost ~]# sort -r -n sort2.txt 12345 999 782 349 339 221sort的-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选项,后面可以设定间隔符。指定了间隔符之后,就可以用-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 $ sort -n -t ‘ ‘ -k 3r -k 2 facebook.txt #sort支持这种设定,就是说设定域排序的优先级,先以第2个域进行排序,如果相同,再以第3个域进行排序。(如果你愿意,可以一直这么写下去,设定很多个排序优先级) baidu 100 5000 google 110 5000 sohu 100 4500 guge 50 3000
更多参考: http://www.cnblogs.com/51linu... 该文章尾部的时候有一些闲得蛋疼的尝试
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/63958.html
摘要:简述用途报告或删除文件中重复的行。命令读取由参数指定的标准输入或文件。如果执行成功,命令退出,返回值。这个标志和标志是等价的。退出状态该命令返回以下退出值命令运行成功。补充文件经过处理后在它的输出文件中可能会出现重复的行。 简述 用途 报告或删除文件中重复的行。 语法 uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fi...
摘要:进程使用虚拟内存大小。进程使用物理内存大小,我们会重点关注这个值。几个字段介绍一下占用内存的文件的内存起始地址。占用内存的文件,为已分配的内存,为程序堆栈最后的为统计的总值。 本文首发于我的公众号 CloudDeveloper(ID: cloud_dev),专注于干货分享,号内有大量书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。 前面我们已经学习了 CP...
摘要:基础的网络管理命令或者,。使用来随机打乱一个文件中的行或者选择一个随机的行。比如,这条命令可以将重音都小写,并且去掉通过扩展并且丢掉要将文件切片,可以试试根据大小切分或者根据模式切分。前言:有网友在问答网站Quora上提问:有哪些省时小技巧,是每个Linux用户都应该知道的? Joshua Levy 平常就在 Linux 平台工作,并且他积累了不少实用命令行技巧,他在回复中精选出一部分。对...
摘要:基于命令行与脚本编程大全的学习笔记更多的命令命令支持三种不同类型的命令行参数风格的参数,前面加单破折线风格的参数,前面不加破折线风格的长参数,前面加双破折线常用即为显示所有进程,显示完整的格式输出也可以在后面选择管道结束进程命令可以结 Linux(基于《Linux命令行与shell脚本编程大全》的学习笔记) 4 更多的bash shell ps 命令 ps 命令支持三种不同类型的命令...
阅读 2548·2021-11-18 10:02
阅读 1075·2021-11-17 09:33
阅读 2753·2021-10-13 09:39
阅读 2482·2021-10-09 10:01
阅读 2276·2021-09-29 09:35
阅读 3697·2021-09-26 10:01
阅读 3386·2019-08-26 18:37
阅读 3022·2019-08-26 13:46