假设有如下文本text.txt

  1. 8723 23423

  2. 321324 213432

  3. 23 234

  4. 123 231

  5. 234 1234

  6. 654 345234

如果要对第一列进行排序:sort -n -k 1 test.txt  (-n:number)

如果要对第二列进行排序:sort -n -k 2 test.txt


如果将test文件的内容改为:

  1. 8723,23423

  2. 321324,213432

  3. 23,234

  4. 123,231

  5. 234,1234

  6. 654,345234

如果要对第二列按照大小排序

  sort -n -t "," -k 2 test.txt

如果没有-t选项的话,就是默认的空格或者tab键,因此上面就没有使用-t选项。


  sort –k 1.2, 3.4 data.txt

以上命令是按第1列的第2个字符开始,第3列的第4个字符结束之间的内容进行排序。


 有时候,排序可能需要排除一些特殊字符,可以使用:

$ sort –bd data.txt

 其中,选项-b用于忽略文件中的前导空白字符,选项-d是指除英文字母、数组、空格字符外,忽略其它字符。



from:http://blog.chinaunix.net/uid-22566367-id-3087946.html