【问题标题】:Print only lins that matching couple of words in GREP仅打印与 GREP 中的几个单词匹配的 lins
【发布时间】:2013-07-08 14:46:32
【问题描述】:

如何使用 GREP 仅打印包含单词“car”或单词“house”的文本文件行?我知道怎么做,但只有一个字:

grep "car" input.txt > output.txt

谢谢。

【问题讨论】:

    标签: grep


    【解决方案1】:

    如果我理解正确,您希望能够使用 grep 搜索两个(或更多)单词而不是一个......其中字符串包含“foo”或字符串包含“bar”。试试这个:

    cat input.txt | grep -i -E "car|house" > output.txt

    你也可以在里面放其他东西:"car|house|cat|mouse" 等等。它不必仅限于两个东西。

    【讨论】:

    • 注意不用cat,直接用grep ... input.txt即可。
    • 同意。我不完全确定为什么,但我更喜欢这种方法。也许是因为我可以很容易地看到我正在搜索的文件?或者可能是因为它具有更合乎逻辑的隐含程序流程。无论如何,是的,@fedorqui,你是对的。不一定要用cat
    【解决方案2】:

    grep "car\|house" input.txt > output.txt

    【讨论】: