Wie sortiere ich eine Datei sowohl nach Buchstaben als auch nach Zahlen?

Wie sortiere ich eine Datei sowohl nach Buchstaben als auch nach Zahlen?

Eine Datei mit diesem Inhalt:

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]

Ich möchte die alphabetische Reihenfolge beibehalten, aber nach dem Inhalt in den Klammern numerisch sortieren.

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

Antwort1

GNU-Sortierungen --version-sortsollten das für Sie erledigen:

sort --version-sort file

Andernfalls verwenden Sie es [als Trennzeichen und sortieren Sie nach dem ersten Feld und dann numerisch nach dem zweiten:

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

verwandte Informationen