文件中的grep通配符
我正在使用以下代码过滤邮件服务器上的垃圾邮件:文件中的grep通配符,grep,wildcard,Grep,Wildcard,我正在使用以下代码过滤邮件服务器上的垃圾邮件: if 822field from | grep -qiFf "/email_filters/from.txt"; then exit 99; fi 而且: if 822field subject | grep -qiFf "email_filters/bad_subject.txt"; then exit 99; fi 在上面提到的两个文件中,我列出了垃圾邮件来源和主题(如辉瑞、cialis、伟哥等),每一个都在文本文件中的一行 如何在文件中使
if 822field from | grep -qiFf "/email_filters/from.txt"; then exit 99; fi
而且:
if 822field subject | grep -qiFf "email_filters/bad_subject.txt"; then exit 99; fi
在上面提到的两个文件中,我列出了垃圾邮件来源和主题(如辉瑞、cialis、伟哥等),每一个都在文本文件中的一行
如何在文件中使用通配符?例如,我最近开始收到来自美国的虚假邮政服务通知
地位_38@unikmetal.ru,因此我想阻止“@\u.ru”。当您向grep添加
-F
时,它处理的是固定字符串而不是正则表达式。据我所知,要使用通配符,必须使用正则表达式
删除grep
命令中的-F
grep -qif "/email_filters/from.txt"
若要阻止您的俄语电子邮件地址,您可以在过滤器中添加类似的内容
@.*\.ru
解释
@ - match '@' character literally
.* - match any character 0 or more times
\. - match '.' literally
ru - match 'ru' literally
谢谢你。我很感激你的完整解释。