linux sort 命令

最近处理大量数据需要排序,使用linux sort是个简单,有效的方法.

我一般都是按列排序的,所以着重看了下按列排序的相关参数.

下面是一个例子,一共有两列数字,我要将第二列按照数字大小排序 文件名为sample.csv

514414,00031169714709921,00836668344714029,00836594664717305,00836765654731228,00836712474731285,00836723524736531,00836735214742303,00836696968195195,00836699668361635,0083669021

命令如下 sort -t, -k 2n,2 sample.csv

-t: 分隔符参数

-k: 这个有点复杂了, man 里面原文是这样写的

-k, –key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2 (default end of line). See POS syntax below

关于POS是这样写的

POS is F[.C][OPTS], where F is the field number and C the character position in the field; both are origin 1. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options, which override global ordering options for that key. If no key is given, use the entire line as the key.

总结下-k的用法是这样的,-k后面是可以跟两个参数值的,一个是起始的位置(默认是1),另一个是结束的位置(默认是行尾),

关于起始位置POS的用法是这样的, POS包含三个信息,一个是列号,一个是字符在这个列里面的位置,这两都默认是1,如果没有指明分隔符或者-b这个参数的话就从前面的空白处开始,第三个是一个字母,是sort里面的一个选项字符例如n,r,R等.

微笑的去寻找一个不可能出现的你。

linux sort 命令

相关文章:

你感兴趣的文章:

标签云: