linux命令之----sort命令用于将文本文件内容加以排序

1、sort命令作用

sort命令用于将文本文件内容加以排序,将输入行按照键值字段与数据类型选项以及locale排序。

一个可预期的记录次序,会让用户的查看使用更方便:书的索引、字典、目录以及电话簿等,如果没有次序依据就毫无价值,排序后的记录更易于程序化,也更有效率。

2、sort命令语法

语法

     sort [options] [file(s)]

参数:

  • -b 忽略开头的空白
  • -c 检查输入是否已正确的排序。如果输入未经排序,返回退出码非零值
  • -d 字典顺序:仅文字数字与空白才有意义
  • -g 一般数值:以浮点数字类型比较字段。
  • -f 将混用的字母都看作相同大小写,不区分大小写
  • -i 忽略无法打印的字符
  • -k 定义排序键值字段
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • --help 显示帮助。
  • --version 显示版本信息。

sort会读取指定的文件,如果未给定文件,则读取标准输入,再将排序好的数据写至标准输出。

3、sort案例

1)以字段排序

(1)以冒号隔开的第一个字段:用户名称进行排序

sort -t: -k1,1  /etc/passwd

(2)以冒号隔开,先以第四段进行排序,然后以第三段进行排序,展示出来(从1开始计数)

sort -t: -k4n,-k3n  /etc/passwd

2)把排序结果输出到原文件中

sort -r test.txt -o test.txt

3)去除重复行

 sort -u test.txt 

原文地址:https://www.cnblogs.com/jiu0821/p/9217205.html