嗨我想写一个脚本以便提取一行,如果从使用awk的文本文件满足表达式。
所以,如果我在shell中使用这个命令,我有正确的输出,但在脚本上它不起作用,也许是因为$ 1被识别为用户在shell上给出的参数。
这是我的脚本:
#!/bin/bash
declare -a email=([email protected])
spam=`su - zimbra -c 'cat /var/log/zimbra.log | sed -n 's/.*sasl_username=//p' | sort | uniq -c | sort -n -r' | awk '{if ($1>500){print $2}}'`
for i in "${email[@]}"
do
echo "$spam"| /opt/zimbra/postfix/sbin/sendmail $i
done
而是由脚本发送的电子邮件只有这身:
su - zimbra -c 'cat /var/log/zimbra.log | sed -n 's/.*sasl_username=//p' | sort | uniq -c | sort -n -r' | awk '{if (>500){print }}
我怎样才能做到这一点?
请提供可验证的样本输入和期望输出 – Inian