0

我有以下内容:

ssh $DOMAIN -l root "grep "'$EMAIL@$DOMAIN'" /var/log/maillog | grep retr= | grep -v retr=0 | awk '{ print "'$11'" }' | cut -d, -f1 | cut -d= -f2 | awk '{ t += $1 } END { print "'total: '", t, "' bytes transferred over POP3'"}'"

运行此命令会给出以下输出:

标准输入:不是 tty

awk: { t += blah@email.com } END { print total: , t, 通过 POP3 传输的字节数}

awk: ^ 表达式中的无效字符“@”

看起来问题awk '{ t += $1 }出在$ 1中的@,但是我尝试了几种不同的方法来逃避它,但没有运气。任何建议表示赞赏。

4

1 回答 1

1

我不认为这是您运行的命令,因为引号不匹配(有多余的")。听起来您实际运行的命令扩展了“$1”,从而导致 awk 解释文字电子邮件地址,而不是从第一个字段读取。

最后一部分应该是:

awk '{ t += $1 } END { print "total: ", t, " bytes transferred over POP3"}'
于 2013-03-25T15:58:08.067 回答