
Файл с таким содержимым:
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 --version-sort
должна сделать это за вас:
sort --version-sort file
В противном случае используйте [
в качестве разделителя и сортируйте по первому полю, а затем численно по второму:
sort -t'[' -k1,1 -k2n file