下一页: 统计文件大小命令
本章目录: 文件和目录操作相关命令
上一页: 文件查找命令
Sort命令
sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实
用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序
操作的.实际上,sort命令可以被认为是一个非常强大的数据管理工具,
用来管理内容类似数据库记录的文件.
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该
命令将继续比较这两行的下一字符,如果还相同,将继续进行比较.
语法∶
sort [选项] 文件
说明∶sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出
上.如不指定输入文件或使用“”,则表示排序内容来自标准输入.
sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的.排序关
键字定义了用来排序的最小的字符序列.缺省情况下以整行为关键字按
ASCII字符顺序进行排序.
改变缺省设置的选项主要有∶
- m 若给定文件已排好序,合并文件.
- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出.
- u 对排序后认为相同的行只留其中一行.
- o 输出文件将排序输出写到输出文件中而不是标准输出,如果输
出文件是输入文件之一,sort先将该文件的内容写入一个临时文件,
然后再排序和写输出结果.
改变缺省排序规则的选项主要有∶
- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义.
- f 将小写字母与大写字母同等对待.
- I 忽略非打印字符.
- M 作为月份比较∶“JAN”“FEB”“DEC”.
- r 按逆序输出排序结果.
- +posl pos2 指定一个或几个字段作为排序关键字,字段位置从posl开
始,到pos2为止(包括posl,不包括pos2).如不指定pos2,则关键字为从posl到行
尾.字段和字符的位置从0开始.
- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符).
- t separator指定字符separator作为字段分隔符.
uniq命令
文件经过处理后在它的输出文件中可能会出现重复的行.例如,使用
cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重
复行.这时可以用uniq命令将这些重复行从输出文件中删除,只留下
每条记录的唯一样本.
语法∶uniq [选项] 文件
说明∶这个命令读取输入文件,并比较相邻的行.在正常情况下,第二个及以
后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的.
该命令加工后的结果写到输出文件中.输入文件和输出文件必须不同.
如果输入文件用“”表示,则从标准输入读取. 该命令各选项含义如下∶
- c 显示输出中,在每行行首加上本行在文件中出现的次数.它可
取代u和d选项.
- d 只显示重复行.
- u 只显示文件中不重复的各行.
- n 前n个字段与每个字段前的空白一起被忽略.一个字段是一个
非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号).
- +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号).
- f n与n相同,这里n是字段数.
- s n与+n相同,这里n是字符数.
root
2000-06-08