我有一个文件,我试图根据第四列进行排序,并删除基于该列的重复行。使用sort -uk4,4
后,我的文件看起来像这样:
chr1 76190472 76190502 NM_000016_cds_0_0_chr1_76190473_f 0 +
chr1 76226806 76227055 NM_000016_cds_10_0_chr1_76226807_f 0 +
chr1 76228376 76228448 NM_000016_cds_11_0_chr1_76228377_f 0 +
chr1 76194085 76194173 NM_000016_cds_1_0_chr1_76194086_f 0 +
chr1 76198328 76198426 NM_000016_cds_2_0_chr1_76198329_f 0 +
chr1 76198537 76198607 NM_000016_cds_3_0_chr1_76198538_f 0 +
chr1 76199212 76199313 NM_000016_cds_4_0_chr1_76199213_f 0 +
chr1 76200475 76200556 NM_000016_cds_5_0_chr1_76200476_f 0 +
chr1 76205664 76205795 NM_000016_cds_6_0_chr1_76205665_f 0 +
chr1 76211490 76211599 NM_000016_cds_7_0_chr1_76211491_f 0 +
chr1 76215103 76215244 NM_000016_cds_8_0_chr1_76215104_f 0 +
chr1 76216135 76216231 NM_000016_cds_9_0_chr1_76216136_f 0 +
但是,函数没有按照我的喜好排序,因为在第四列_cds_
之后我想按降序排列数字:0,1,2,3 ...等而不是0 ,10,11,1。有没有办法做这样的事情?
答案 0 :(得分:2)
您的要求对我来说并不完全清楚,但您可能想要这样:
sort -k4n file
-n
使用数字顺序进行排序。
答案 1 :(得分:0)
您可以只提取该数字,将其放入新的(整数)变量中,然后根据该变量进行排序。我认为问题是,现在这个数字只是一个字符串的一部分。