Итак, у меня есть список слов, содержащий более 30 000 слов. Мои цели заключаются в том, чтобы сделать скрипт, который принимает слово без констант в нем (например: mbnt), и каким-то образом добавлять константы и сравнивать со списком слов, чтобы найти по крайней мере слово «ambient», хотя оно также найдет другие слова, которые читайте как «mbnt», если вы должны вынуть все свои гласные. До сих пор это мой Баш скриптИтерировать пользовательскую строку в bash, чтобы добавить гласные в строку
f=/wordList
anyVowel=[aAeEiIoOuU]
nonVowel=[^aAeEiIoOuU]
input=$1
for ((i=0; i<${#input}; i++));
do
grep "${input:$i:1}$nonVowel" $f | head -10
done
однако это будет просто возвращать только нормальный список слов с некоторыми из символов вводимых пользователем. Любые мысли о том, что я могу делать неправильно?
Для начала, вы пытаетесь сделать обработку данных в 'bash'. – chepner
Одна вещь, которая идет не так, состоит в том, что входные символы ищутся по одному за раз. Их нужно искать для всех вместе, в правильном порядке. Кроме того, их нужно смешивать с гласными, а не с гласными. Возможно, имеет смысл смешивать их с несогласованными, если в списке слов есть пунктуация. Тогда 'don't' будет соответствовать для' dnt'. – pjh