如何从正在运行的Node脚本向awk命令传递参数



以下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)=>{}

相关内容

  • 没有找到相关文章

最新更新