如何过滤掉文本文件中出现的命令输出行?

如何过滤掉文本文件中出现的命令输出行?

假设我们有一个包含禁止行的文本文件forbidden.txt。过滤文本文件中存在的命令输出的所有行的快捷方法是什么?

cat input.txt | exclude-forbidden-lines forbidden.txt | sort

答案1

grep像这样使用:

$ grep -v -x -F -f forbidden.txt input.txt

那一长串选项grep意味着

  • -v反转匹配的意义,即寻找线条不是匹配。
  • -x匹配模式时,要求模式匹配整条线,即不仅仅是线路上的任何地方。
  • -F匹配模式时,将其视为固定串,即不作为正则表达式。
  • -f从给定文件中读取模式 ( forbidden.txt)。

然后通过管道将其传送到sort或执行任何您想用它执行的操作。

相关内容