1 sort 命令:
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息
2 awk命令
-F fs or –field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:
-v var=value or –asign var=value
赋值一个用户定义变量。
-f scripfile or –file scriptfile
从脚本文件中读取awk命令。
-mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
-W compact or –compat, -W traditional or –traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
-W copyleft or –copyleft, -W copyright or –copyright
打印简短的版权信息。
-W help or –help, -W usage or –usage
打印全部awk选项和每个选项的简短说明。
-W lint or –lint
打印不能向传统unix平台移植的结构的警告。
-W lint-old or –lint-old
打印关于不能向传统unix平台移植的结构的警告。
-W posix
打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符和=不能代替^和^=;fflush无效。
-W re-interval or –re-inerval
允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
-W source program-text or –source program-text
使用program-text作为源代码,可与-f命令混用。
-W version or –version
打印bug报告信息的版本。
3 联合使用
注:以下代码的作用时从score.soft.csv(包含资料评分、资料基本属性、资料主键)文件中最终筛选出前一百的评分的数据,并且单独输出。
3.1 代码如下
cat score.soft.csv |sort -k33 -n -t',' -r |head -100 |awk -F',' '{print$33":"$1}' > hot.score.csv
3.2 解释
先cat score.soft.csv 作为sort命令的输入
将输入的内容以,进行分割,根据第33列进行数值类型的倒序排列
获取排序后的前一百条数据。
使用awk 以,进行分割输出第33列和第1列中间以”:”进行分割。
追加到hot.score.csv文件中