Выбор случайного слова с определенным количеством букв в 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\}: квантификатор последнего символа
  • $: конец строки привязки
Другие вопросы по тегам