Я хотел бы отсортировать элементы в списке по второму и третьему символу элементов в обратном порядке, т.е. сортировать по 3-му символу сначала, а затем по 2-му символу.Bash - сортировка по подстроке элементов
например. Если есть массив как этот
array=(XA11000 XB21000 XA31000 XB12000)
Нужный выход рода будет (XA31000 XB21000 XB12000 XA11000)
Это относительно просто без 4-х цифр в конце каждого элемента в качестве
echo "${array[@]}"|rev | sort -r | rev
будет работать.
Однако я не слишком уверен, как это будет работать с цифрами в конце. Какие-либо предложения?
Я могу просто быть медленным, но совершенно непонятно, какой порядок сортировки вы хотите? 'sort ... вторым и третьим символом элементов в обратном порядке, т. е. сортировать по 3-му символу сначала, а затем по 2-му символу.« Означает ли это «второй и третий символ» после обратного игнорирования ведущего «000»? ... и .. ваше объяснение «3-й символ первым, а затем 2-й символ» будет применяться без обращения вспять? –
Извините, должно быть, было более ясно. Я имел в виду, что я хотел бы сначала обработать результат сортировки третьего символа в порядке убывания, затем передать результат и отсортировать второй символ в порядке убывания. – Zocr