如何grep包含两行输入字的行?我正在寻找包含两个单词的行,我该怎么做?我试过像这样的管子:
grep -c "word1" | grep -r "word2" logs
Run Code Online (Sandbox Code Playgroud)
它只是在第一个管道命令后卡住了.为什么?
这是基本的,但我无法谷歌.我可以使用grep的invokation来做
grep expr1 | grep expr2
Run Code Online (Sandbox Code Playgroud)
这样它打印包括expr1和expr2的行?
如何在cygwin中使用grep来查找包含两个单词的所有文件.
这是我用来递归搜索一个目录中的所有文件:
grep -r "db-connect.php" .
Run Code Online (Sandbox Code Playgroud)
如何扩展上述内容以查找包含"db-connect.php"和"version"的文件.
我试过这个:grep -r "db-connect.php\|version" .但这是一个OR,即它获取包含一个或另一个的文件.
谢谢大家的帮助
我想检查我的所有字符串是否都存在于文本文件中.它们可以存在于同一条线上或不同的线上.部分匹配应该没问题.像这样:
...
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多次(不会标尺时输入文件较大,或者如果我们有一个大量的字符串相匹配),或使用工具,如awk或python?
此外,是否有一个字符串的解决方案可以很容易地扩展为正则表达式?
我确信这已被问到但我找不到,所以我对冗余道歉.
我想使用grep或egrep来查找其中包含"P"或"CA"的每一行,并将它们传递给新文件.我可以使用以下方法轻松完成:
egrep ' CA ' all.pdb > CA.pdb
Run Code Online (Sandbox Code Playgroud)
要么
egrep ' P ' all.pdb > P.pdb
Run Code Online (Sandbox Code Playgroud)
我是regex的新手,所以我不确定它的语法or.
更新: 输出行的顺序很重要,即我不希望输出对匹配的字符串排序.以下是一个文件的前8行示例:
ATOM 1 N THR U 27 -68.535 88.128 -17.857 1.00 0.00 1H5 N
ATOM 2 HT1 THR U 27 -69.437 88.216 -17.434 0.00 0.00 1H5 H
ATOM 3 HT2 THR U 27 -68.270 87.165 -17.902 0.00 0.00 1H5 H
ATOM 4 HT3 THR U 27 -68.551 88.520 -18.777 0.00 0.00 1H5 H
ATOM 5 CA LYS B 122 …Run Code Online (Sandbox Code Playgroud) 我试图用两个字符串grep文件的行,所以string1 logical_ AND string2.
示例行grep:
The quick brown fox and the cat
Run Code Online (Sandbox Code Playgroud)
我希望grep通过匹配"快速"和"猫"来排除那一行,注意"the"和"cat"之间的空格.这就是让我失望的原因.
grep .*quick.*cat myfile
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我想grep "猫"和;
grep .*quick.*the cat myfile
Run Code Online (Sandbox Code Playgroud)
显然由于空间不起作用.我不明白我怎么能用空间包围"猫"?