Unix排序:2个文件之间不一致

时间:2014-01-08 23:30:13

标签: sorting unix

[1.txt]
Sample10_1.fq.gz
Sample11_1.fq.gz
Sample12_1.fq.gz
Sample1_1.fq.gz
Sample13_1.fq.gz

[2.txt]
Sample10_2.fq.gz
Sample11_2.fq.gz
Sample12_2.fq.gz
Sample1_2.fq.gz
Sample13_2.fq.gz

正如您所看到的,唯一的区别是" _"之后的数字。

无论如何,这是排序的结果:

[sort 1.txt]
Sample10_2.fq.gz
Sample11_2.fq.gz
Sample12_2.fq.gz
Sample1_2.fq.gz
Sample13_2.fq.gz

[sort 2.txt]
Sample10_1.fq.gz
Sample11_1.fq.gz
Sample1_1.fq.gz
Sample12_1.fq.gz
Sample13_1.fq.gz

差异:" Sample1 _"在" Sample12"之间排序;和" Sample13"在1.txt中,但它在" Sample11"之间。和" Sample12"在2.txt。

我做错了是否会导致这种不一致?

1 个答案:

答案 0 :(得分:1)

使用sort -V

cat 1.txt | sort -V
Sample1_1.fq.gz
Sample10_1.fq.gz
Sample11_1.fq.gz
Sample12_1.fq.gz
Sample13_1.fq.gz