到现在为止我每次都用过滤,grep
命令
[root@host tests]# cat e
1
2
3
4
5
[root@host tests]# cat e | grep -Ev '2|3' > filtered.txt
[root@host tests]# cat filtered.txt
1
4
5
[root@host tests]#
但现在我有一个大文件,需要使用另一个文件中的数百个字符串进行过滤。我该怎么做?
答案1
听起来你可以只使用 grep 和以下选项
-f FILE, --file=FILE Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing.
您还需要同时使用-F
(在比较中使用模式作为普通字符串,而不是正则表达式)和-x
(比较完整的行,而不是子字符串)。如果不是-x
,则-w
(仅比较整个单词)。