我试图从pmta邮件日志中提取数据.
单个条目看起来如下
b,2013-02-04 03:48:57+0200,2013-02-04 03:48:57+0200,noreply@test.com,fynnb@domain.com,rfc822;fynnb@domain.com,failed,5.3.2 (system not accepting network messages),smtp;550 Too many invalid recipients,mx02.domain.com (146.230.128.12),other,smtp,twww01.test.com(10.0.0.53),,143.37.222.256,146.230.128.12,,,virtmail23,,,domain.com/virtmail23,test-promo,,,,,,,,,,,
Run Code Online (Sandbox Code Playgroud)
有很多条目,我想在第三个逗号之后提取"*@test.com"的条目
目前noreply@test.com在示例中,但我们使用noreply,NoReply,No-Reply和用户,所以我想在@符号之前使用通配符.
到目前为止我所拥有的是什么
awk -F, '$4 == "noreply@test.com"' /home/mail/test.csv
Run Code Online (Sandbox Code Playgroud)
这样可以很好地提取包含"noreply@test.com"的条目,但是如果我使用的话
awk -F, '$4 == "*@test.com"' /home/mail/test.csv
Run Code Online (Sandbox Code Playgroud)
我没有数据.在这个场景中,我可以在awk中使用什么?
我想告诉postfix所有邮件到任何地址都应转发到外部电子邮件地址.
我的main.cf包含了条目
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = xshaunm-Q1532N
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = xshaunm-Q1532N, localhost.localdomain, , …Run Code Online (Sandbox Code Playgroud)