Временное добавление (надеюсь) уникального разделителя (например, '#') перед первым числом:
sed 's/^\([^0-9]*\)/\1#/' junk | sort -t '#' -k 2n,2 | tr -d '#'
Это Это общий случай, когда я сортирую первое число в любом текстовом файле, который не содержит символа «#» перед первым числом.
Вы также можете использовать более экзотический разделитель, если он вам нравится:
SEP=`printf '\02'`
sed "s/^\([^0-9]*\)/\1$SEP/" junk | sort -t "$SEP" -k 2n,2 | tr -d "$SEP"