sortByLength ()
{
local -a sorted=() sort2
local line sline sline2 pointer
while IFS= read -r line; do
sorted[${#line}]+="$line"
done
for pointer in ${!sorted[@]}
do
# ((pointer)) || echo 0: # This will trace empty lines
sort2=()
line="${sorted[pointer]}"
while [ "$line" ]; do
sline=${line:0:pointer}
line=${line:pointer}
sline2=${sline// }
sort2[${#sline2}]+=${sline}$'\n'
done
# echo $pointer: # This will trace lines length
printf "%s" "${sort2[@]}"
done
}
Это может быть намного быстрее, так как нет форков!
Согласно предложению Оливье, команда mkfs была выполнена неправильно, поэтому, чтобы не столкнуться с подобными проблемами, просто убедитесь, что файловая система диска, который вы пытаетесь смонтировать, уже была правильно собрана с помощью команды mkfs (и нажмите "да!" - в зависимости от размера и типа диска это может занять несколько минут - имейте в виду, что это не будет мгновенным). Спасибо Оливье за то, что указал на проблему.