如何根据字母和数字对文件进行排序?

如何根据字母和数字对文件进行排序?

包含以下内容的文件:

abc[0]
abc[100]
abc[101]
.
.
abc[127]
abc[19]
abc[1]
.  
. 
abc[9]   
xyz[0]  
xyz[100]  
xyz[101]  
.
.
xyz[127]
xyz[19]
xyz[1]
.
.
xyz[9]

我想保留字母顺序,但按括号中的内容按数字排序。

abc[0]
abc[1]
abc[2]
.
.
abc[127]
xyz[0]
xyz[1]
xyz[2]
.
.
xyz[127]

答案1

GNU sort--version-sort应该可以帮你完成这个任务:

sort --version-sort file

否则,使用[作为分隔符并按第一个字段排序,然后按第二个字段按数字排序:

sort -t'[' -k1,1 -k2n file

相关内容