【问题标题】:How to make "grep" read patterns from a file?如何从文件中制作“grep”读取模式?
【发布时间】:2011-10-25 00:47:48
【问题描述】:

假设有一个大文本文件,我想只打印与某些模式不匹配的行。显然,我可以使用egrep -v 'patter1|pattern2|pattern3。现在,如果所有这些模式都在一个文本文件中怎么办?使egrep 从文件中读取模式的最佳方法是什么?

【问题讨论】:

  • 请注意,有时您需要转义 |... 例如grep 'pattern1\|pattern2\|pattern3'

标签: regex linux shell grep


【解决方案1】:
grep -v -f pattern_file

【讨论】:

  • 供将来参考:删除-v,如果您想保留与模式文件中的模式匹配的行,只需使用cat myfile |grep -f pattern_file
  • 嗯?这不是 OP 要求的。此外,将cat转换为grep 更有效——只需将myfile 指定为grep 的参数即可。
  • @lingfish 您应该声明您的评论仅指 Basj 的评论,而不是我的回答...
  • 真的,很抱歉。
【解决方案2】:

egrep 有一个 -f 选项可以做到这一点:你指定一个文件,它会从该文件中读取模式,每行一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多