首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查Bash脚本的输入是否包含文件中的4个或更多字母单词

如何检查Bash脚本的输入是否包含文件中的4个或更多字母单词
EN

Unix & Linux用户
提问于 2019-02-16 22:42:57
回答 1查看 997关注 0票数 1

我必须测试字符串的任何部分是否包含来自给定文件(words.txt)的4个字母或更多的单词,并打印它是否包含。到目前为止,我的代码如下:

代码语言:javascript
运行
复制
if [[ grep -q *"$Str"* words.txt ]]; then
   echo Yes
else
   echo No

我不能正确地匹配它。知道我做错什么了吗?

因此,我有一个包含随机单词的大文件,我需要测试输入的字符串是否包含该文件中任何单词的子字符串--例如:如果我输入字符串"ehhelloef“,而words.txt中有单词"hello”,则需要检测。此外,我只需要测试words.txt中超过4个字母的单词。

EN

回答 1

Unix & Linux用户

发布于 2019-02-17 00:54:24

这样做的一种方法是:

  1. words.txt中提取4个或更多字母单词。
  2. 将结果作为“文件”传递给grep -Ff,以便对变量的内容进行固定字符串匹配:

例如。使用bash进程替换和这里的字符串

代码语言:javascript
运行
复制
grep -Fqf <(grep '....' words.txt) <<< "$str" && echo "found" || echo "not found"
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/501101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档