sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出或重定向输出到指定文件。
选项 | 说明 |
---|---|
-n | number,依照数值的大小排序 |
-r | reverse, 以相反的顺序来排序 |
-t 分隔字符 | 设置排序时所用的分隔字符, 默认空格是分隔符 |
-k | 指定需要排序的列 |
-d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 |
-f | 排序时,将小写字母视为大写字母 |
-b | 忽略每行前面开始出的空格字符 |
-o 输出文件 | 将排序后的结果存入指定的文件 |
-u | 意味着是唯一的(unique),输出的结果是去完重了的 |
-m | 将几个排序好的文件进行合并 |
数字升序
sort -t " " -k2n,2 sort.txt
-t 以空格划分列,-k2以第2列开始排序 排到第2列,-n从大到小排
数字升序去重
sort -t " " -k2n,2 -uk1,2 sort.txt
-u去重 -k1,2从第1列到第2列去重
数字升序去重结果保存到文件
sort -t " " -k2n,2 -uk1,2 -o sort2.txt sort.txt
-o 将文件结果输出到 sort2.txt
数字降序去重
sort -t " " -k2nr,2 -uk1,2 sort.txt
-r 降序
多列排序
sort -t "," -k1,1 -k3nr,3 sort3.txt
-t 以逗号分割 -k1,1 第1列排序到第1列 -k3nr,3 第3列排序 -n大到小排 -r反过来排 排到第3列