我必须测试字符串的任何部分是否包含来自给定文件(words.txt)的4个字母或更多的单词,并打印它是否包含。到目前为止,我的代码如下:
if [[ grep -q *"$Str"* words.txt ]]; then
echo Yes
else
echo No我不能正确地匹配它。知道我做错什么了吗?
因此,我有一个包含随机单词的大文件,我需要测试输入的字符串是否包含该文件中任何单词的子字符串--例如:如果我输入字符串"ehhelloef“,而words.txt中有单词"hello”,则需要检测。此外,我只需要测试words.txt中超过4个字母的单词。
发布于 2019-02-17 00:54:24
这样做的一种方法是:
words.txt中提取4个或更多字母单词。grep -Ff,以便对变量的内容进行固定字符串匹配:例如。使用bash进程替换和这里的字符串
grep -Fqf <(grep '....' words.txt) <<< "$str" && echo "found" || echo "not found"https://unix.stackexchange.com/questions/501101
复制相似问题