[英]Escape @ using awk
我有以下幾點:
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'"}'"
運行此命令將給出以下輸出:
stdin:不是tty
awk:{t + = blah@email.com} END {打印總計:,t,通過POP3傳輸的字節數}
awk:表達式中的^無效字符'@'
看起來問題在於awk '{ t += $1 }
是由於awk '{ t += $1 }
中的@,但是我嘗試了幾種不同的轉義方法,但是沒有運氣。 任何建議表示贊賞。
我不認為這是您運行的命令,因為引號不匹配(有多余的"
。這聽起來像您實際運行的命令擴展了“ $ 1”,從而導致awk改為解釋文字的電子郵件地址)從第一個領域閱讀。
最后一部分應該是:
awk '{ t += $1 } END { print "total: ", t, " bytes transferred over POP3"}'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.