假设我有几个字符串:str1和str2以及str3.
您无法合理地执行"全部"或"此加上其中任何一种"案例,因为grep
不支持前瞻.使用Perl.对于"任何"案件,它是egrep '(str1|str2|str3)' file
.
做"全部"案件的不合理方式是:
egrep '(str1.*str2.*str3|str3.*str1.*str2|str2.*str1.*str3|str1.*str3.*str2)' file
Run Code Online (Sandbox Code Playgroud)
即你建立了排列.当然,这是一件荒谬的事情.
对于"这加上其中任何一个",同样:
egrep '(str1.*(str2|str3)|(str2|str3).*str1)' file
Run Code Online (Sandbox Code Playgroud)
小智 5
grep -E --color "string1|string2|string3...."
例如查找我们的系统是使用 AMD(svm) 还是 Intel(vmx) 处理器,如果它是 64bit(lm) lm 代表长模式-这意味着 64bit ...
命令示例:
grep -E --color "lm|svm|vmx" /proc/cpuinfo
-E 必须找到多个字符串
Pau*_*lin -1
就我个人而言,我用 Perl 来做这件事,而不是尝试用 grep 拼凑一些东西。
例如,对于第一个:
while (<FILE>)
{
next if ! m/pattern1/;
next if ! m/pattern2/;
next if ! m/pattern3/;
print $_;
}
Run Code Online (Sandbox Code Playgroud)