Как указывали другие, основная проблема с вашим кодом заключается в том, что $RANDOM
чаще всего будет значением, намного большим, чем количество слов определенной длины.
Использование только awk
:
$ awk -v len="$num" 'length == len { word[i++]=$0 }
END { print word[int(i*rand())] }' /usr/share/dict/words
Bosniac
Программа считывает все строки заданного файла определенной длины. Они хранятся в массиве words
.
В конце случайный элемент из этого массива выбирается и печатается.
У меня была такая же проблема в системе yocto, когда я пытался
opkg install libfreetype6
Я перепробовал все возможные переключатели, и --принудительно -переустановить переключатель сработало!!
opkg install libfreetype6 --force-reinstall