目录
1、sort 命令排序(1)sort 命令介绍
sort 命令可以按行对文本文件的内容进行排序。
命令格式如下:
[root@localhost ~]# sort [选项] 文件名
选项:
(2)练习
以下练习的默认文本如下:
java haha 3
python lala 77
shell dudu 23
hello world 12
linxu xixi 6
1)示例 1
sort 命令默认使用每行开头的第一个字符进行排序。
执行排序顺序:
# 默认按行首字符进行排序
[root@localhost tmp]# sort test.txt
hello world 12
java haha 3
linxu xixi 6
python lala 77
shell dudu 23
如果要反向排序,请使用 -r 选项:
# 反向排序
[root@localhost tmp]# sort -r test.txt
shell dudu 23
python lala 77
linxu xixi 6
java haha 3
hello world 12
2)示例 2
按文档中每一行的指定字段排序。
需要 -k 选项:
# -k 2,2表示:指定按照第二个字段排序
# 2,2表示第2个字段开始,到第2个字段结束
[root@localhost tmp]# sort -k 2,2 test.txt
shell dudu 23
java haha 3
python lala 77
hello world 12
linxu xixi 6
注意:文本中字段之间的分隔符是制表符,默认识别。
3)示例 3
要按数字排序,取决于文本中的内容,我们需要按第三列排序。
[root@localhost tmp]# sort -k 3,3 test.txt
hello world 12
shell dudu 23
java haha 3
linxu xixi 6
python lala 77
我们发现按第三列内容排序的结果有点不对,怎么3和6排在12后面。
因为排序命令不把第三列的数据看成数字,所以默认识别为字符串,所以按照字符串的规则排序,即按第一个数字排序.
我们需要添加sort命令的-n选项来解决上面的问题。也就是让sort命令对第三列进行数字排序。
[root@localhost tmp]# sort -n -k 3,3 test.txt
java haha 3
linxu xixi 6
hello world 12
shell dudu 23
python lala 77
4)示例 4
如果要指定排序字段,而文本中字段之间的分隔符不是制表符,需要使用-t选项指定分隔符,使用-k选项指定字段编号.
如以下文字:
java:haha:3
python:lala:77
shell:dudu:23
hello:world:12
linxu:xixi:6
要求:按文本内容中的第三列编号排序。
[root@localhost tmp]# sort -t ":" -n -k 3,3 test.txt
java:haha:3
linxu:xixi:6
hello:world:12
shell:dudu:23
python:lala:77
2、取消重复行命令uniq
uniq命令是用来取消重复行的命令,其实和sort -u选项是一样的。
命令格式如下:
[root@localhost ~]# uniq [选项] 文件名
选项:
-i:忽略大小写。
运动:
.txt文本内容如下:
ID Name Python Linux MySQL Java
1 Tangs 88 87 86 85.55
2 Sunwk 99 98 97 96.66
2 Sunwk 99 98 97 96.66
3 Zhubj 77 76 75 74.44
3 Zhubj 77 76 75 74.44
4 Shahs 66 65 64 63.33
4 Shahs 66 65 64 63.33
我们可以看到ID为2、3、4的.txt文本是重复的。
使用uniq命令删除重复行后,输出结果如下:
[root@localhost tmp]# uniq student.txt
ID Name Python Linux MySQL Java
1 Tangs 88 87 86 85.55
2 Sunwk 99 98 97 96.66
3 Zhubj 77 76 75 74.44
4 Shahs 66 65 64 63.33
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容