Выбор случайного слова с определенным количеством букв в bash
Мне нужно выбрать случайное слово с n
буквы, n
будет параметром.
У меня есть это:
#!bin/bash
shuf -n1 /usr/share/dict/words
Так что я знаю, как выбрать случайное слово, но не с определенным количеством букв.
1 ответ
Решение
Попробуйте это для слов с 3 символами:
grep '^.\{3\}$' /usr/share/dict/words | shuf -n1
Если вам нужна переменная:
num=3
grep "^.\{$num\}\$"
Пояснения к регулярному выражению grep:
^
: начать привязку строки.
любой персонаж\{3\}
: квантификатор последнего символа$
: конец строки привязки