【Linux】Linux常用命令——sort命令

Linux命令:sort

1.简述

sort命令可以针对文本文件的内容,按行进行排序。在排序的时候以指定分隔符对文本文件进行内容分列。对指定列进行升序或降序排列,并且在排序的同时可以指定是否忽略大小写。

2.基本选项

  • -d:按字典序升序排列,空行在前(默认);
  • -b:忽略每行前面开始的空格字符,空格数量不固定时,该选项几乎是必须要使用的;
  • -f:忽略大小写进行排列
  • -h:使用易读性数字(例如:2K、1G)
  • -k:按行中的某个字段排序:字段间默认使用空格隔开,默认-k 1
  • -n:按照数值的大小排序(升序)
  • -o<输出文件>:将排序后的结果存入指定的文件
  • -r:降序
  • -u:忽略相同行
  • -c:选项检查文件是否已经排好序
  • -t<分割字符>:指定分隔符,默认的分隔符为空白字符和非空白字符之间的空字符
  • --help:显示帮助
  • --version:显示版本信息

3.sort命令(空行是在前面的)

在进行排序的时候默认按照对文件的的内容、按照一个空格或者制表符作为间隔符来进行分裂,并且默认优先对第一列数据进行排序

查看文件当中的内容:

 

【Linux】Linux常用命令——sort命令_第1张图片

 

【Linux】Linux常用命令——sort命令_第2张图片

直接用sort命令或者加上-d,结果都是一样的

【Linux】Linux常用命令——sort命令_第3张图片

【Linux】Linux常用命令——sort命令_第4张图片

 

4.sort 命令 -r选项

-r:使用降序方式,对内容进行排序

【Linux】Linux常用命令——sort命令_第5张图片

5.sort命令 -t选项

 

 

-t:直接针对指定的分个字符来进行分裂操作,默认按照第一列进行排序

【Linux】Linux常用命令——sort命令_第6张图片

 

这里按照 ":" 进行分裂操作

6.sort命令 -k选项

-k:选项可以指定按照分列后的第n列进行排序,但是要注意若指定列相同的话,sort会自动针对其他列进行排序

 

【Linux】Linux常用命令——sort命令_第7张图片

这里按照第四列进行排序,

【Linux】Linux常用命令——sort命令_第8张图片

这里按照第三列进行排序,可以看到,结果不是我们想要看到的那样的,是因为sort进行排列时默认是将所有的数据当做我们的字符串进行处理的;字符串比较时1是小于5的,sort默认的情况下是按照升序进行排列的;所以排序是不正确的;

 7.sort命令 -n选项

-n:在比较时按照数值大小进行比较(升序)

【Linux】Linux常用命令——sort命令_第9张图片

 

这里可以看到第三列就是按照数字大小进行排序的;

8.sort命令 -h选项

-h:将我们的数据按照特殊运算符单位进行数据处理之后进行排序;(使用-h的时候最好不要和-n在一起使用)

 

【Linux】Linux常用命令——sort命令_第10张图片

第一次比较是按照字符进行比较的,结果并未达到预期;

增加了-h选项后,则认为是K/M/G/T是一些易读性的数字单位,转化为数值之后进行比较;

9.sort命令 -u选项

-u:对排序后的结果进行去重处理

【Linux】Linux常用命令——sort命令_第11张图片

 

可以看出,使用之后,对第三列进行了去重;

10.sort命令 -f 选项

-f:将所有的字符按照大写进行处理,因此认为是忽略大小写的

【Linux】Linux常用命令——sort命令_第12张图片

 

先查看在第六列,按照顺序排序,小写的在前,然后利用-u进行去重,没有去掉,再加上-f忽略大小写之后,进行去重,去掉了重复的一列数据;

11.sort命令 -o选项

-o:将排序结果写入到指定的输出文件

【Linux】Linux常用命令——sort命令_第13张图片

 

可见,将搜索到的文件写入到了指定的输出文件中,查看test3.txt文件,是选择地相应的数据

 

 

 

你可能感兴趣的:(Linux)