簡體   English   中英

使用awk轉義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM