sort
работает над строками, а не над словами.
Для примера, который вы нам показали, вы сортируете одну строку текста. Например:
$ echo 2.text 11.text 3.text | sort -n
2.text 11.text 3.text
Но это не согласуется с результатами, которые вы нам показали, поэтому я не могу быть уверен, что вы делаете или что вы пытаетесь сделать.
Вы ищете что-то подобное?
$ echo 2.text 11.text 3.text | fmt -1
2.text
11.text
3.text
$ echo 2.text 11.text 3.text | fmt -1 | sort -n
2.text
3.text
11.text
А вам нужно заново собрать линии в одну линию? Пропускание вывода через fmt -999
сделает это, но это немного уродливо (GNU coreutils fmt
ограничивает ширину 2500).