sort -V | 对字符和数值组合的排序

sort命令有很多选项参数,其中-n选项可以对文件内容进行数字排序。但是当想排序的列是由字符和数字组成的时候,这个选项就不能达到想要的效果。 1.例如,对某个文件列进行排序: #cat 1.txt11...

sort命令有很多选项参数,其中-n选项可以对文件内容进行数字排序。但是当想排序的列是由字符和数字组成的时候,这个选项就不能达到想要的效果。

1. 例如,对某个文件列进行排序:

#cat 1.txt
1
12
123
2
34
3
5
5678
10
11
#sort 1.txt
1
10
11
12
123
2
3
34
5
5678
直接使用sort命令,会按照(第一列第一个字符)的顺序进行排列。对第一个字符相同的行,按照第二个字符进行排序,直到得到最终的排序结果。
所以当我们进行排序的列全是数字时, 可以在sort后加上-n选项,按照数值进行排序:
#sort -n 1.txt
1
2
3
5
10
11
12
34
123
5678
2. 当要排序的列是字符与数值组合时,再使用-n选项就达不到我们想要的效果了,这时候需要使用-V选项
#cat 2.txt
chr1
chr12
chr123
chr2
chr34
chr3
chr5
chr5678
chr10
chr11
#sort -n 2.txt
chr1
chr10
chr11
chr12
chr123
chr2
chr3
chr34
chr5
chr5678
#sort -V 2.txt
chr1
chr2
chr3
chr5
chr10
chr11
chr12
chr34
chr123
chr5678

















  • 发表于 2024-01-05 13:28
  • 阅读 ( 1138 )
  • 分类:linux

0 条评论

请先 登录 后评论
rzx
rzx

78 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 351 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章