首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Linux命令Sort按照第四列,数字顺序对文本文件进行排序?

如何使用Linux命令Sort按照第四列,数字顺序对文本文件进行排序?
EN

Stack Overflow用户
提问于 2012-01-26 16:36:03
回答 3查看 76.6K关注 0票数 32

我有一个这样的文件(以空格分隔):

代码语言:javascript
复制
AX-18 Chr1_419085 1 41908545 T C -1 98 0.51
AX-19 Chr1_419087 1 41908740 T C 0 15 0.067
AX-20 Chr1_419087 1 41908741 T C 0 13 0.067

并且我想使用sort命令来根据第四列对文件进行排序。我在网上到处找,我找到了不同的解决方案,修女工作!!我甚至在stackoverflow中发现了类似的问题,答案对我来说不起作用!这些就是我正在使用但不起作用的命令!

代码语言:javascript
复制
sort -n -k 4,1 out1.txt
sort -n -k 4 out1.txt
sort -n -k4 out1.txt
sort -nk4 out1.txt
sort +4 out1.txt

因此,在运行所有这些命令后,我得到以下输出(与我的输入相同):

代码语言:javascript
复制
AX-18 Chr1_419085 1 41908545 T C -1 98 0.51
AX-19 Chr1_419087 1 41908740 T C 0 15 0.067
AX-20 Chr1_419087 1 41908741 T C 0 13 0.067

我想要得到这样的输出:

代码语言:javascript
复制
AX-19 Chr1_419087 1 41908741 T C 0 15 0.067
AX-20 Chr1_419087 1 41908740 T C 0 13 0.067
AX-18 Chr1_419085 1 41908545 T C -1 98 0.51
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-26 16:42:26

代码语言:javascript
复制
sort -nk4 file

-n for numerical sort
-k for providing key

或者添加-r option以进行反向排序

代码语言:javascript
复制
sort -nrk4 file
票数 44
EN

Stack Overflow用户

发布于 2012-01-26 16:38:47

它应该是

代码语言:javascript
复制
sort -k 4n out1.txt

刚刚用GNU sort (--debug enabled)测试了这一点:

代码语言:javascript
复制
$ tac input | /bin/sort --debug -k 4n
/bin/sort: using simple byte comparison
/bin/sort: key 1 is numeric and spans multiple fields
AX-18 Chr1_419085 1 41908545 T C -1 98 0.51
                    ________
___________________________________________
AX-19 Chr1_419087 1 41908740 T C 0 15 0.067
                    ________
___________________________________________
AX-20 Chr1_419087 1 41908741 T C 0 13 0.067
                    ________
___________________________________________
票数 2
EN

Stack Overflow用户

发布于 2016-08-20 04:51:23

值得一提的是,如果文件的每一行中的单词都用分隔符分隔(空格除外),我们可以使用“-t”选项指定分隔符:

代码语言:javascript
复制
sort -n -t',' -k4 file -o outfile

我们可以在任何指定的输出文件中获得排序的输出(使用“-o”选项),而不是在标准输出上显示输出。

来源:http://www.thegeekstuff.com/2013/04/sort-files/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9015533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档