Сортировка в строке через sort, как указывается разделитель?

Есть строка :
00000000000000;000022233333;2;NONE;true;100,100,5,1,28;UNKNOWN
Нужно отсортировать цифры 100,100,5,1,28 в порядке убывания.
  • Вопрос задан
  • 413 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
sort так не умеет, насколько я помню, он сортирует строки с самого начала. Рекомендую рассмотреть вариант с использованием awk или перестановкой полей (это можно совместить).
Ответ написан
Комментировать
3vi1_0n3
@3vi1_0n3
Вот так разве что:
STRING="000000000000000;0000000000022222233333;2;NONE;true;100,100,5,1,28;UNKNOWN"
echo $STRING
NUMBERS=$(echo $STRING | cut -d';' -f 6)
SORTSTRING=${NUMBERS//,/\\n}
SORTED=$( echo $(echo -e $SORTSTRING | sed 's/,/\n/' | sort -n ) | sed 's/ /,/g')
STRING2=${STRING/$NUMBERS/$SORTED}
echo $STRING2
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы