sort与uniq

sort

sort命令进行排序,其语法及常用参数格式:

sort [-bcfMnrtk][源文件][-o 输出文件]

补充说明:sort可针对文本文件的内容,以行为单位来排序。

参数:
-b     忽略每行前面开始出的空格字符。
-c     检查文件是否已经按照顺序排序。
-f     排序时,忽略大小写字母。
-M     将前面3个字母依照月份的缩写进行排序。
-n     依照数值的大小排序。
-o <输出文件>     将排序后的结果存入指定的文件。
-r     以相反的顺序来排序。
-t <分隔字符>     指定排序时所用的栏位分隔字符。
-k     选择以哪个区间进行排序。
示例:
$ cat test.txt
java    10  5.0
scala   9   6.0
spark   11  4.0
scala   9   6.0
java    9   5.5

sort:从首字符向后,依次按ASCII码值进行比较,最后按升序输出

$ sort test.txt 
java    10  5.0
java    9   5.5
scala   9   6.0
scala   9   6.0
spark   11  4.0

sort –u:输出行中去除重复行

$ sort -u test.txt
java    10  5.0
java    9   5.5
scala   9   6.0
spark   11  4.0

sort –r:sort默认的排序方式是升序,-r表示降序

$ sort -r test.txt
spark   11  4.0
scala   9   6.0
scala   9   6.0
java    9   5.5
java    10  5.0

sort –o:sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,如果想把排序结果输出到原文件中,可以使用-o

$ sort test.txt -o test.txt
$ cat test.txt 
java    10  5.0
java    9   5.5
scala   9   6.0
scala   9   6.0
spark   11  4.0

sort –n:要以数值来排序

sort的-t选项和-k选项:sort提供了-t选项,后面可以设定间隔符。指定了间隔符之后,就可以用-k来指定列数排序,默认是”\t”分隔。

$ cat test.txt 
java    10  5.0
scala   9   6.0
java    9   5.5
spark   11  4.0
scala   10  6.0

$ sort -k 1 -k 2 -k 3 test.txt
java    10  5.0
java    9   5.5
scala   10  6.0
scala   9   6.0
spark   11  4.0

uniq

用法:uniq [选项]… [文件]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。不附加任何选项时匹配行将在首次出现处被合并。

-c, --count     //在每行前加上表示相应行目出现次数的前缀编号  
-d, --repeated     //只输出重复的行  
-D, --all-repeated     //只输出重复的行,不过有几行输出几行  
-f, --skip-fields=N     //-f 忽略的段数,-f 1 忽略第一段  
-i, --ignore-case     //不区分大小写  
-s, --skip-chars=N     //根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符  
-u, --unique     //去除重复的后,全部显示出来,跟mysql的distinct功能上有点像  
-z, --zero-terminated     //end lines with 0 byte, not newline  
-w, --check-chars=N     //对每行第N 个字符以后的内容不作对照  
--help     //显示此帮助信息并退出  
--version     //显示版本信息并退出 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值