尝试从文件中获取第一行的最后一个单词。不确定为什么以下命令:
send "cat moo.txt | grep QUACK * | awk 'NF>1{print $NF}' meow.txt >> bark.txt "
收到错误消息can't read "NF": no such variable
。
我可以在我的计算机上正常运行awk 'NF>1{print $NF}' meow.txt >> bark.txt
代码段。然而,当它在我的expect
脚本中运行时,它会给我这个错误。
任何人都知道为什么期望不识别awk
内置变量?
答案 0 :(得分:1)
我认为你的脚本试图在通过send
拍摄命令之前用它的值扩展变量$ NF。 $NF
未设置在您的shell中,因为它是awk内部的,它还没有机会甚至可以运行,因此它无法跟踪。
尝试转义该变量,使其被视为字符串文字,awk
能够在awk
运行时使用它:
send "cat moo.txt | grep QUACK * | awk 'NF>1{print \$NF}' meow.txt >> bark.txt "