当用户输入内容时,脚本会检查输入是否包含wordfile中的任何单词。
输入:
A sentence that contains the word, word1.
Wordfile:
word1
word2
word3
代码:
[[ -z $(cat 'vocabulary/lists/wordfile' | grep -Fe $($input//" "/"\|")) ]]
输出:
> [WORD]
./core.sh: line 168: [WORD]// /\|: No such file or directory
grep: option requires an argument -- 'e'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
[WORD]
答案 0 :(得分:2)
我认为这可能就是你所需要的:
grep -Fqf wordfile <<<"$input" && echo 'found a word'
这使用文件-F
(wordfile
)中的模式进行固定字符串匹配(-f wordfile
),如果找到任何匹配项,则使用-q
以静默方式退出。
例如:
$ cat wordfile
apple
ball
cat
$ input='a string containing the word ball'
$ grep -Fqf wordfile <<<"$input" && echo 'found a word'
found a word
答案 1 :(得分:1)
试试这个:
[[ -n $(sed -n -f <(sed 's/^/\//g;s/$/\/p/g' vocabulary/lists/wordfile) <<< "$input") ]] && echo Found