以下Javascript代码没有正确传递命令字符串:
cp = require("child_process");
var command = "awk < " + mypath + "" $3 ~ "^rs" {print $3}""
cp.exec(command, function (err, stdout, stderr) {});
是否有更合适的Node包或Javascript解决方案,用于将引号和美元符号传递给在Node中使用child_process时在Bash环境中调用的Awk解释器?
有一个本机Node awk包,请考虑使用它。
嗯,如果我读对了:
"awk<"+mypath+"\"\$3~\"^rs\"{print\$3}\"
这表明您的参数顺序可能需要调整,即从简单的awk:开始
awk '{print $0}' /some_file # print each line
接受以上(不清楚),但你的意思是:
awk '/^rs/ {print $3}' /some_file ##
#对于以"rs"开头的每行打印第三个变量?
也许类似于:
好的,修改了一点;由于我不熟悉您"调用"的解决方案,因此您需要进行适当的调整。
"awk '/^rs/{print $3}'" + "mypath" ## ?
或者,也许(不确定你是否需要逃避3美元):
"awk '/^rs/{print $3}'" + "mypath" ## ?
使用子流程节点包。exec函数。
//
npm安装子进程exec(awk command
,(error,stdout,stderr)=>{}