我正在尝试根据ASCII代码使用UNIX sort
命令(GNU 5.97或7.4)对文本文件进行排序。文件中的行只有一列,用作排序的键。
chr1:110170896:NM_004037:0:1:0/1
chr1:110170897:NM_004037:0:1:0/1
chr11:10325325:chr11:0:1:0/1
chr11::0325325:chr11:0:1:0/1
:
的ascii代码是58,而1
是49。但是,当我用sort -k 1,1 temp.txt
对文件进行排序时,输出是这样的,chr11::0325325:chr11:0:1:0/1
chr1:110170896:NM_004037:0:1:0/1
chr1:110170897:NM_004037:0:1:0/1
chr11:10325325:chr11:0:1:0/1
从结果来看,我不知道排序如何确定
1
和:
之间的顺序。如果有固定顺序,则第一行和第四行应放在一起。理想情况下,我希望根据ASCII代码从左字符到右字符对键进行排序。
最佳答案
怎么样
sort -t : -k 1 filename
使用:作为字段分隔符