1

我想在 awk 中运行 sendmail 命令,但出现以下错误。

awk 命令

awk '{ split($0,array,"@"); gsub("\."," ",array[1]); system("sendEmail -f foo@boo.com -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 头:

user.1@boo.com

user.2@boo.com

user.3@boo.com

先感谢您。

4

1 回答 1

3

这是一种稍微不同的方法,要正确引用所有引用并不是那么困难(也根本不使用awk,只是字符串解析功能bash):

while read address
do
  user=${address%%@*}
  sendEmail -f foo@boo.com -t ${address} -u "Hello from command" -m "Dear ${user}" \
       -s smtp.boo.com:587 -xu khikho -xp khikho
done < email_list.txt
于 2013-06-11T20:46:19.627 回答