如何根據字母和數字對文件進行排序?

如何根據字母和數字對文件進行排序?

包含以下內容的文件:

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

相關內容