Node.js puppet的shell脚本存在问题 awk'开始{FS=“,”};{“傀儡节点清除”$0}'output.txt

Node.js puppet的shell脚本存在问题 awk'开始{FS=“,”};{“傀儡节点清除”$0}'output.txt,node.js,bash,shell,awk,Node.js,Bash,Shell,Awk,我试图让命令puppet node purge在从输入文件中提取服务器后运行,但当它在脚本中运行时,它会完全跳过。我的想法是它读起来很好,但没有执行它 awk 'BEGIN { FS = ","} ; { "puppet node purge " $0 } ' < input.txt awk'开始{FS=“,”};{print“puppet node purge”$0}'>output.txt 当这样运行时,它会创建一个输出文件,将主机名附加到puppet节点purge中 在shel

我试图让命令puppet node purge在从输入文件中提取服务器后运行,但当它在脚本中运行时,它会完全跳过。我的想法是它读起来很好,但没有执行它

awk 'BEGIN { FS = ","} ; { "puppet node purge  " $0 } ' < input.txt
awk'开始{FS=“,”};{print“puppet node purge”$0}'>output.txt
当这样运行时,它会创建一个输出文件,将主机名附加到puppet节点purge中


在shell中执行该命令的正确方法是什么?它将读取文本文件,添加purge命令并从那里运行它?

这应该适用于您的用例:
主机的
,单位为美元(cat input.txt | tr“,”;执行puppet节点清除$host;完成

当您想调用shell工具时,不要让shell调用awk调用系统调用shell调用您的工具。只需从shell中调用它:

awk 'BEGIN { FS = ","} ; { print "puppet node purge  " $0 } ' < input.txt >> output.txt
$cat文件
东西
胡说
富吧
$

当您满意时,请删除
echo

当我尝试您建议的方法时,我得到了tr:missing operand after',,在转换时必须给出两个字符串。您是否尝试在bash shell中使用
$0
作为命令的一部分执行
“puppet node purge”
?如果我理解您的意图,请查看
系统(“puppet node purge”$0)
。为什么设置
FS
,但从不查看任何单个字段?
$ cat file
stuff
nonsense
foo    bar

$ < file xargs -I {} -n 1 echo puppet node purge {}
puppet node purge stuff
puppet node purge nonsense
puppet node purge foo    bar