Если вы хотите отсортировать по номеру, оставленному до :
, сделайте следующее:
for((n=1;n<$(echo $DAR | wc -w)+1;n+=2)); do echo $DAR | cut -d' ' -f$n,$(($n + 1)); done | sort -k2 --numeric-sort -r | head -n1
Или, если вы хотите отсортировать его по номеру справа от :
, то сделайте следующее:
for((n=1;n<$(echo $DAR | wc -w)+1;n+=2)); do echo $DAR | cut -d' ' -f$n,$(($n + 1)); done | sort -t: -k2 --numeric-sort -r | head -n1
Выход:
DAR 234:211
EDIT:
Теперь это сначала делит два числа, а затем сортирует их по результату.
for((n=1;n<$(echo $DAR | sed "s/ /\n/g" | wc -l)+1;n+=2)); do echo $DAR | cut -d' ' -f$n,$(($n + 1)); done | awk -F'[ :]' '{printf "%s %s:%s;%s\n",$1,$2,$3,$2/$3}' | sort -t';' -k2 --numeric-sort | tail -n1 | cut -d';' -f1