排序和 Uniq
Sorting and Uniq
我有一个文件,我试图根据第四列对它进行排序,并根据该列删除重复的行。使用 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。有什么办法可以做这样的事情吗?
您可以只提取该数字,将其放入一个新的(整数)变量中,然后根据该变量进行排序。我认为问题在于现在数字只是字符串的一部分。
我不太清楚你的要求,但你可能想要这个:
sort -k4n file
-n
使用 数字 顺序排序。
我有一个文件,我试图根据第四列对它进行排序,并根据该列删除重复的行。使用 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。有什么办法可以做这样的事情吗?
您可以只提取该数字,将其放入一个新的(整数)变量中,然后根据该变量进行排序。我认为问题在于现在数字只是字符串的一部分。
我不太清楚你的要求,但你可能想要这个:
sort -k4n file
-n
使用 数字 顺序排序。