相关疑难解决方法(0)

检查文件中是否存在多个字符串或正则表达式

我想检查我的所有字符串是否存在于文本文件中.它们可以存在于同一条线上或不同的线上.部分匹配应该没问题.像这样:

...
string1
...
string2
...
string3
...
string1 string2
...
string1 string2 string3
...
string3 string1 string2
...
string2 string3
... and so on
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我们可以用正则表达式代替字符串.

例如,以下代码检查文件中是否存在任何字符串:

if grep -EFq "string1|string2|string3" file; then
  # there is at least one match
fi
Run Code Online (Sandbox Code Playgroud)

如何检查是否所有这些都存在?由于我们只对所有匹配项的存在感兴趣,因此我们应该在所有字符串匹配后立即停止读取文件.

是否有可能做到这一点,而不必调用grep多次(不会标尺时输入文件较大,或者如果我们有一个大量的字符串相匹配),或使用工具,如awkpython

此外,是否有一个字符串的解决方案可以很容易地扩展为正则表达式?

bash search grep

18
推荐指数
3
解决办法
2961
查看次数

标签 统计

bash ×1

grep ×1

search ×1