Linux排序命令sort笔记_Linux系统

很多时候Linux需要对文本相对比较规范的文本数据进行排序,这时候可以使用Linux系统下的sort命令进行处理。

语法格式:sort [-ntkr] filename

常用参数:

-n 根据数字进行排序

-t 指定的分隔符

-k 指定分隔符的第几列

-r 降序排序

用法示例:

先创建一个sort.txt的文本文件,表示各科的成绩,内容如下:

a 98 80 100 95

d 88 99 95 82

b 89 83 80 100

c 60 98 79 90

cat sort.txt | sort #默认会按照第一列进行排序

输出结果:

a 98 80 100 95

b 89 83 80 100

c 60 98 79 90

d 88 99 95 82

cat sort.txt | sort -n -k 2 #按照第二列进行排序

输出结果:

c 60 98 79 90

d 88 99 95 82

b 89 83 80 100

a 98 80 100 95

cat sort.txt | sort -n -t " " -k 3 -r

#按照第三列进行、指定分割符为空格、降序排序

d 88 99 95 82

c 60 98 79 90

b 89 83 80 100

a 98 80 100 95

注意:如果不加-n 参数,Linux默认会按照排序列第一个字符进行排序,比如21和3如果不加-n参数的话,系统会按照21第一个字符2和3比较,如果升序的化21会在3的前面,所有如果是数字的排序,必须要加上-n参数,从而保证排序的正确性。