Это то, что вы хотите?
julia> src = ["LOGS_A1",
"LOGS_A10",
"LOGS_A11",
"LOGS_A2",
"LOGS_A3",
"LOGS_A4",
"LOGS_A5",
"LOGS_A6",
"LOGS_A7",
"LOGS_A8",
"LOGS_A9"];
julia> sort(src, by = x -> parse(Int, chop(x, head=6, tail=0)))
11-element Array{String,1}:
"LOGS_A1"
"LOGS_A2"
"LOGS_A3"
"LOGS_A4"
"LOGS_A5"
"LOGS_A6"
"LOGS_A7"
"LOGS_A8"
"LOGS_A9"
"LOGS_A10"
"LOGS_A11"
Я использую chop
, поскольку в данном случае это кажется самым простым, поскольку я понимаю, что у вас везде одинаковый префикс.
Альтернативой является :
julia> src[sortperm(parse.(Int, chop.(src, head=6, tail=0)))]
11-element Array{String,1}:
"LOGS_A1"
"LOGS_A2"
"LOGS_A3"
"LOGS_A4"
"LOGS_A5"
"LOGS_A6"
"LOGS_A7"
"LOGS_A8"
"LOGS_A9"
"LOGS_A10"
"LOGS_A11"
что немного быстрее, но сложнее для записи (и, вероятно, в вашем случае скорость не имеет значения).