uniq,sort,
sort命令总结
功能:排序
语法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
参数:
-b 忽略每行前面开始出的空格字符。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-c 检查文件是否已经按照顺序排序。
-m 将几个排序好的文件进行合并。
-M 前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 指定域
--help 显示帮助。
--version 显示版本信息。
--------------------------------------------------------------------------------------------------[root@Jesse ~]# cat c.txt
7 July
8 August
9 September
10 October
11 November
12 December
1 January
2 February
3 March
4 April
5 May
6 June
[root@Jesse ~]# sort -c c.txt
sort: c.txt:4: disorder: 10 October //说明未按照某种顺序进行排列,如果什么也不显示,则说明已按某种顺序分类。
--------------------------------------------------------------------------------------------------[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
[root@Jesse ~]# cat b.txt
3 ladygaga 1
5 ladygaga 9
0 ladygaga 5
9 ladygaga 4
6 ladygaga 2
8 ladygaga 3
7 ladygaga 0
1 ladygaga 6
4 ladygaga 7
2 ladygaga 8
[root@Jesse ~]# sort -m a.txt c.txt //将两个文件内容整合到一起
7 July
8 August
9 September
10 October
11 November
12 December
1 January
2 February
3 March
4 April
5 May
6 June
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
--------------------------------------------------------------------------------------------------进行月份排序
[root@Jesse ~]# cat c.txt
July
August
September
October
November
December
January
February
March
April
May
June
[root@Jesse ~]# sort -M c.txt
January
February
March
April
May
June
July
August
September
October
November
December
--------------------------------------------------------------------------------------------------[root@Jesse ~]# sort -M c.txt -o d.txt //将内容排序后导入到d.txt这个文件。
--------------------------------------------------------------------------------------------------[root@Jesse ~]# cat e.txt
1
2
3
4
5
6
7
8
[root@Jesse ~]# sort -r e.txt //逆序进行排列
8
7
6
5
4
3
2
1
--------------------------------------------------------------------------------------------------[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
[root@Jesse ~]# sort -t" " -k 3 a.txt //出现空格的地方作为第一域进行分类
gugeee 120 3000
sohuee 100 4500
google 110 5000
baidue 100 5010
########################################################################有关-k 的实例演示
########################################################################准备工作:
[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5000
gugeee 120 3000
sohuee 101 4500
------------------------------------------------------------------------------------------------按照字母进行排序,注意 -t 后面的引号里需要有一个空格,这里的单引号,双引号都无所谓
[root@Jesse ~]# sort -t" " -k 1 a.txt
baidue 100 5000
google 110 5000
gugeee 120 3000
sohuee 101 4500
[root@Jesse ~]# sort -t' ' -k 1 a.txt
baidue 100 5000
google 110 5000
gugeee 120 3000
sohuee 101 4500
按照以空格为分割域的第二域进行排序
[root@Jesse ~]# sort -t' ' -k 2 a.txt
baidue 100 5000
sohuee 101 4500
google 110 5000
gugeee 120 3000
我们来测试下第二域相同的情况
[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
通过以下实例我们发现,以空格为分割域,第二域相同的时候,第三域是没有任何次序的,如果遇到第二域相同,第三域也要进行排序的时候,我们怎么办呢
[root@Jesse ~]# sort -n -t' ' -k 2 a.txt
baidue 100 5010
sohuee 100 4500
google 110 5000
gugeee 120 3000
看如下演示,如果第二域相同,那么我们将从第三域进行升降处理
[root@Jesse ~]# sort -n -t' ' -k 2 -k 3 a.txt
sohuee 100 4500
baidue 100 5010
google 110 5000
gugeee 120 3000
如果我想让以空格为分割域的第三域进行倒叙排列
[root@Jesse ~]# sort -n -t' ' -k 3r a.txt
baidue 100 5010
google 110 5000
sohuee 100 4500
gugeee 120 3000
如果我想让以空格为分割域的第三域以正序进行排列
[root@Jesse ~]# sort -t' ' -k 3n a.txt
gugeee 120 3000
sohuee 100 4500
google 110 5000
baidue 100 5010
如果第二域有两个数相同,那么我们将以升降来排序
[root@Jesse ~]# sort -t' ' -k 2n -k 3n a.txt
sohuee 100 4500
baidue 100 5010
google 110 5000
gugeee 120 3000
如过只是想从第三个字母起进行排序
[root@Jesse ~]# sort -t' ' -k 1.3 a.txt
gugeee 120 3000
sohuee 100 4500
baidue 100 5010
google 110 5000
如果只想以第一域的第三个字符进行排序:-k 1.3,1.3 表示只以第三个字母进行排序
[root@Jesse ~]# sort -t' ' -k 1.3,1.3 a.txt
gugeee 120 3000
sohuee 100 4500
baidue 100 5010
google 110 5000
n表示进行排序,r表示逆序
[root@Jesse ~]# sort -t" " -k 2nr a.txt
gugeee 120 3000
google 110 5000
baidue 100 5010
sohuee 100 4500
以第二域进行排序,如果遇到重复的,就删除
[root@Jesse ~]# sort -t" " -k 2n -u a.txt
baidue 100 5010
google 110 5000
gugeee 120 3000
uniq,sort,的更多相关文章
- shell uniq sort -u 去重排序
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢? $ cat test jason jason jason fffff jason 下面分别执行三个命令 :sort ...
- Linux awk+uniq+sort 统计文件中某字符串出现次数并排序
https://blog.csdn.net/qq_28766327/article/details/78069989 在服务器开发中,我们经常会写入大量的日志文件.有时候我们需要对这些日志文件进行统计 ...
- linux shell 去重 uniq和sort的区别
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test jasonjasonjasonfffffjason 下面分别执行三个命 ...
- linux shell——md5sum,sha1sum,sort,uniq (转)
1.文件校验 1. md5sum eg: md5sum filename 注:生成一个128位的二进制位,即32位的十六进制字符串 1.验证文件的正确性: md5sum file1 file2 &g ...
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...
- linux 命令 — sort、uniq
sort uniq sort:对行或者文本文件排序 uniq:去除重复的行 常用 sort -n file.txt 按数字进行排序 sort -r file.txt 按逆序进行排序 sort -M f ...
- shell中uniq与sort -u 两种去重的对别
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test jasonjasonjasonfffffjason 下面分别执行三个命 ...
- 《linux 字符处理》- grep/sort/uniq/tr/paste
一:基本 字符处理主要是文本的搜索和处理. 搜索也主要使用到了 管道 作为媒介. 二: grep 搜索文本 基本语法 * grep [-incv] ’文本’ 文件 * i 不区分大小写 * c 匹配行 ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
随机推荐
- 关于EEG参考电极
今天搞ADS1299,里面的BIAS偏置运放原来是设置参考电极的. The input multiplexer has EEG-specific functions for the bias driv ...
- 网络数据包收发流程(四):协议栈之packet_type
进入函数netif_receive_skb()后,skb正式开始协议栈之旅.先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层.比如,arp头和ip头都是紧跟在以 ...
- DAO接口及实现类
DAO接口中定义了所有的用户操作,如添加记录.删除记录及查询记录. package chapter13; import java.util.*; public interface UserDAO { ...
- ubunut 14.04 将Caps Lock设置为Control
入手了emacs,一直折腾想把caps Lock设置为control键. 网上看到一个用gnome里找到系统-首选项之类可以直接设置的.在14.04版的ub中是找不到的(新版设置太坑,只有那么几个选项 ...
- BNUOJ 13105 nim博弈
ncredible Chess Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on LightOJ. Ori ...
- android首次点击没反应,第二次才反应
比如我写了个重置密码确认按钮的animation动画,动画代码都没问题,但等我输入密码,再点击这个确认按钮,动画没反应,第二次才反应 解决办法已经写到我的公众号,二维码在下面,欢迎关注,谢谢. 本人联 ...
- hiho一下120周 后缀数组一·重复旋律
后缀数组一·重复旋律 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列. 小Hi ...
- ATMEL处理器自带USB CDC的Win7驱动问题
[背景] 很久以前使用ATMEL的处理器开发了一款设备,通过处理器本身的功能,借助USB在PC端虚拟一个串口出来,实现和上位机软件的通信,和基本的参数设置和数据读取功能. 这个功能就是ATMEL官网上 ...
- C#访问非托管内存
示例1:分配一个新的内存地址给新变量 Point p; // Initialize unmanged memory to hold the struct. IntPtr pnt = Marshal.A ...
- [转]UDP穿透NAT的原理与实现(UDP“打洞”原理)
NAT(The IP Network Address Translator) 的概念和意义是什么? NAT, 中文翻译为网络地址转换.具体的详细信息可以访问RFC 1631 - http://www. ...