Предположим, что у меня есть список в текстовый файл, который выглядит следующим образом -буквенно-цифровой сортировки в VIM
TaskB_115
TaskB_19
TaskB_105
TaskB_13
TaskB_10
TaskB_0_A_1
TaskB_17
TaskB_114
TaskB_110
TaskB_0_A_5
TaskB_16
TaskB_12
TaskB_113
TaskB_15
TaskB_103
TaskB_2
TaskB_18
TaskB_106
TaskB_11
TaskB_14
TaskB_104
TaskB_112
TaskB_107
TaskB_0_A_4
TaskB_102
TaskB_100
TaskB_109
TaskB_101
TaskB_0_A_2
TaskB_0_A_3
TaskB_116
TaskB_1_A_0
TaskB_111
TaskB_108
Если я сортирую в ВИМ с командой %sort
, это дает мне выход, как -
TaskB_0_A_1
TaskB_0_A_2
TaskB_0_A_3
TaskB_0_A_4
TaskB_0_A_5
TaskB_10
TaskB_100
TaskB_101
TaskB_102
TaskB_103
TaskB_104
TaskB_105
TaskB_106
TaskB_107
TaskB_108
TaskB_109
TaskB_11
TaskB_110
TaskB_111
TaskB_112
TaskB_113
TaskB_114
TaskB_115
TaskB_116
TaskB_12
TaskB_13
TaskB_14
TaskB_15
TaskB_16
TaskB_17
TaskB_18
TaskB_19
TaskB_1_A_0
TaskB_2
Но я хотел бы иметь выход следующим образом -
TaskB_0_A_1
TaskB_0_A_2
TaskB_0_A_3
TaskB_0_A_4
TaskB_0_A_5
TaskB_1_A_0
TaskB_2
TaskB_10
TaskB_11
TaskB_12
TaskB_13
TaskB_14
TaskB_15
TaskB_16
TaskB_17
TaskB_18
TaskB_19
TaskB_100
TaskB_101
TaskB_102
TaskB_103
TaskB_104
TaskB_105
TaskB_106
TaskB_107
TaskB_108
TaskB_109
TaskB_110
TaskB_111
TaskB_112
TaskB_113
TaskB_114
TaskB_115
TaskB_116
Примечание Я просто написал этот список, чтобы продемонстрировать проблему. Я мог бы сгенерировать список в VIM. Но я хочу сделать это и для других вещей в VIM.
ах да, то, что я пытался было, как этот '% своего рода -n'!. также можно изменить мой вопрос. Предположим, у меня был свой список как - 'TaskB_0_A_1 TaskB_0_A_2 TaskB_0_A_4 TaskB_0_A_3 TaskB_0_A_5 TaskB_1_A_0 ', а затем сделать вид, что не работает. Можете ли вы сказать мне, как добиться сортировки этого, так как сортировка 'sort n' сортируется только по первому десятичному числу. – Raj
@Raj PLS изменить свой вопрос. но в следующий раз попробуйте сделать этот пример более подходящим для ваших реальных данных. это поможет вам быстрее получить решение и сэкономить усилия людей, которые будут помогать. – Kent
@Raj см. Редактирование в ответ. – Kent