awk '{printf "% 7d% s \ n", длина ($ 0), $ 0}' файл |сортировать -n |sed -e 's / ^ ....... //'> newfile
печатать каждую строку по длине перед ней в 8-символьной сортировке поля, которая выводит численно вырезанные 8 символов спередикаждой строки
Это работает, если каждая строка вашего файла содержит менее 10 миллионов символов.Поскольку ваш файл меньше 1 МБ, это должно быть правдой.