Как использовать инвертированное совпадение с awk
, как grep -v
, у меня есть смесь шаблонов awk, sed, grep и sort ниже.
Есть ли чистый awk или sed способ сделать следующее. .
$ awk '/status=sent/{print $1,$2,$7,$8|"sort -u"}' /var/log/maillog-20150308 |sed 's/to=<//g' | sed 's/>,//g' | grep -v "relay=local"
Журнал образцов ..
Mar 15 09:00:12 testhost postfix/local[11995]: 7245441DF1: to=<user@smtp.tr-dub01.tr.com>, relay=local, delay=0.02, delays=0/0/0/0.02, dsn=2.0.0, status=sent (delivered to file: /dev/null)
Mar 15 09:00:12 testhost postfix/local[11995]: 7245441DF1: to=<user@smtp.tr-dub02.tr.com>, relay=mysmtp.com, delay=0.02, delays=0/0/0/0.02, dsn=2.0.0, status=sent (delivered to file: /dev/null)
Текущий и требуемый выход:
$ awk '/status=sent/{print $1,$2,$7,$8|"sort -u"}' /tmp/test |sed 's/to=<//g' | sed 's/>,//g' | grep -v "relay=local"
Mar 15 user@smtp.tr-dub02.tr.com relay=mysmtp.com,
Mar 7 testUser@example.com orig_nxp41641@smtp.rawat.example.com