2013-06-11 271 views
1

我想在awk中運行sendmail命令,但是我得到了下面的錯誤。在AWK中運行命令

awk命令

awk '{ split($0,array,"@"); gsub("\."," ",array[1]); system("sendEmail -f [email protected] -t " $1 "-u \"Hello from command\" -m \"Dear\ " array[1] \"-s smtp.boo.com:587 -xu khikho -xp khikho"}' email_list.txt

錯誤:

syntax error near unexpected token('`

email_list.txt頭:

[email protected]

[email protected]

[email protected]

預先感謝您。

+0

能獲得您的'system(「sendmail ...」)'一直使用硬代碼值,然後嘗試添加簡單變量,並將數組作爲最後一項。祝你好運。 – shellter

+0

系統內部引號(..)不正確。 –

+0

2錯誤我看到:「-s」選項之前沒有空格;沒有'系統('的右括號 –

回答

3

這是一個稍微不同的方法,並不是很困難得到(也沒有使用awk在所有的bash只是字符串解析能力)的所有報價的權利:

while read address 
do 
    user=${address%%@*} 
    sendEmail -f [email protected] -t ${address} -u "Hello from command" -m "Dear ${user}" \ 
     -s smtp.boo.com:587 -xu khikho -xp khikho 
done < email_list.txt