Linux排序命令sort笔记

640?wx_fmt=png

很多时候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参数,从而保证排序的正确性。


原文地址:https://www.cnblogs.com/hgmyz/p/12351243.html