一、sort命令说明

  1.sort命令将许多不同的域按不同的列顺序分类。sort命令的操作可以分为3种模式:

   a) 排序模式:对输入文件进行排序,是默认的模式。

   b) 合并模式:对两个已排序的文件进行合并。需要指定“-m”选项。

   c) 检查模式:测试给定的输入文件是否已排序。需要指定“-c”选项。

  2.sort命令的一般格式为:

   sort –cmu –o output_file [other options] +pos1 +pos2 input_files

   sort有许多不同的选项,这些选项基本可以分为三类:

    a) sort的操作模式选项:就是用于指定sort工作模式的选项,只有“-c”“-m”两个。

    b)sort的数据排序选项:这些选项将影响输出行的排列序列,可以是针对整体或特殊键值字段设定的。

    c) sort的字段设定与输出选项:与输出和字段有关的选项。

二、sort选项介绍

  1. sort的常用数据排序选项

    -n:当指定位置上是数字字符时,需按数值排序,而不是逐字符比较

    -b:忽略前置空白

    -r:逆序输出

    -d:在排序时忽略所有除英文字母、数字及空白之外的字符。

    -f:在排序时将字母大小写视为相同

    -i:在排序时忽略超过ASCII可打印范围的字符

    -M:对表示月份的三个大写字母进行比较

  2.sort的常用字段设定与输出选项

   如果没有使用任何字段设定选项,sort默认对证行的内容作排序。如果希望针对行中某一特定的字段内容作排序,就必须知道如何指定字段的分隔符以及指定适当的排序字段。

    -o FILE:指定排序结果的输出文件,输出文件可以是输入文件之一。

     egsort –o video.txt video.txt //video.txt的排序结果写入video.txt

    -t 分隔符:设定字段分隔符,如果省略此选项,则为空格或tab

    -u:检查指定域的唯一性(不重复)(检查排序模式),或去除域重复的行(排序、合并模式)

    -k pos1[,pos2]:把pos1pos2之间的内容当成一个字段来进行排序(域号从1开始)

      如果省略pos2,表示从pos1到行尾

      -k选项的pos可以是“F[.C]”格式,即F指示使用第几个字段,C指示从字段开头算起第几个字符。

       eg:sort –t: -k2,3n video.txt  //从第二个字段的第三个字符开始排序

   3.sort用于合并2个排序文件(将文件合并前,均需已被排序)

     sort –m [-o 输出文件] [选项] file1 file2

      sort默认使用第一个字段来进行合并排序。

      eg: sort -t: -m -o out video2.txt video.txt --将两个排序好的内容合并都out文件中去