sort命令的使用
语法
sort[options] [file(s)]
将输入行按照键值字段与数据类型选项以及locale排序
-b:忽略开头的空白
-c:检查输入是否已经正确地排序。如果输入未经排序,但退出码为非零值,则不会有任何输出。
-d:字典顺序,仅文字数据与空白才有意义
-g:一般数值,以浮点数字类型比较字段。这个选项与-n有些类似,差别仅在于这个选项的数字可能有小数点及指数
-f:忽略大小写
-i:忽略无法打印的字符
-k:定义排序键值字段
选项的后面接着的是一个字段编号,或者是一对数字,有时在-k之后可用空白分隔。每个编号后面都可以接一个点号的字符位置,及/或修饰符字母之一,如下面所示
b 忽略开头的空白
d 字典顺序
f 不区分字母的大小写
g 以一般的符点数字进行比较
i 忽略无法打印的字符
n 以整数比较
r 倒置排序的顺序
字段及字段里的字符都是从1开始
如果仅指定一个字段编号,则排序键值会自该字段的起始处开始,一直继续到记录的结尾(而非字段的结尾)
如果给的是一对用逗点隔开的字段数字,则排序键值将由第一个字段值的起始处开始,结束于第二个字段的结尾
使用点号字符位置,则比较的开始(一对数字的第一个)或结束(一对数字的第二个)
当出现多个-k选项时,会先从第一个键值字段开始排序,找出匹配该键值的记录后,再进行第二个键值字段的排序,以此类推
-m:将已排序的输入文件,合并为一个排序后的输出数据流
-n:以整数类型比较字段。
-o:将输出写到指定的文件,而非标准输出。如果该文件为输入文件之一,则sort在进行排序与写到输出文件之前,会先将它复制到一个临时的文件
-r:倒置排序的顺序由大至小,而非默认的由小到大
-t char:使用单个字符char作为默认的字段分隔字符,取代默认的空白字符
-u:只有唯一的记录,丢弃所有具有相同键值的记录,只保留其中的第一条。只有键值字段是重要的,被丢弃的记录其它部分可能是不同值。
uniq命令的使用
-c:在每个输出行之前加上该行重复的次数
-d:用于仅显示重复的行
-u:显示未重复的行
不带参数:显示去重后的行
fmt命令的使用
-s:仅切割较长的行,但不会将短行结合成较长的行
-w n:设置输出行宽度为n个字符(默认通常约75个左右)
wc命令的使用
wc的默认输出是一行报告,包括行数,字数以及字节数
-c:统计字节数
-l:统计行数
-w:统计字数
提取开头或结尾数行的命令
head –n n [file(s)]
head –n [file(s)]
awk ‘FNR <= n’ [file(s)]
sed –e nq [file(s)]
sed nq [file(s)]
tail –n n [file]
tail –n [file]
在交互式shell通信期中,有时需要监控某个文件的输出,如日志这类持续写入状态的文件,-f选项就派上用场了,这可以要求tail显示指定的文件结尾行数,接着进入无止尽的循环中。