我有以下:逃逸@使用AWK
ssh $DOMAIN -l root "grep "'[email protected]$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 + = [email protected]} END {打印總數:,t,通過POP3傳輸的字節}
awk:^表達式中的無效字符'@' sion
看起來問題出在awk '{ t += $1 }
因爲@在$ 1,但是我嘗試了幾種不同的方法來逃避這個沒有運氣。任何建議表示讚賞。
你試過\ @或/ @? – user1697575 2013-03-25 15:48:24
因爲它是'awk'{t + = $ 1}的一部分''我試過通過'awk'{t + = \ $ 1}'逃避它,沒有運氣。 – 2013-03-25 15:50:04
這個腳本的目標是實現什麼目標?如果您提供樣本輸入和輸出,我們可能能夠提供更好的解決方案(而不是這個龐大,醜陋的管道)。 – 2013-03-25 15:50:13