如何将参数从 运行 节点脚本传递给 awk 命令?

How to pass parameters to an awk command from a running Node script?

以下 Javascript 代码未正确传递命令字符串:

cp = require("child_process");
var command = "awk < " + mypath + "\" $3 ~ \"^rs\" {print $3}\""
cp.exec(command, function (err, stdout, stderr) {});

在 Node 中使用 child_process 时,是否有更合适的 Node 包或 Javascript 解决方法将引号和美元符号传递给在 Bash 环境中调用的 Awk 解释器?

嗯,如果我没看错的话:

"awk < " + mypath + "\" \$3 ~ \"^rs\" {print \$3}\""

这表明您的参数顺序可能需要调整,即从简单的 awk 开始:

awk '{print [=10=]}' /some_file # print each line 

采取以上(不清楚)但你的意思是这样的:

awk '/^rs/ {print }' /some_file ##  

# 为以 'rs' 开头的每一行打印第三个变量?

可能是这样的:

好的,稍微修改一下;由于我不熟悉您 'calling from' 的解决方案,因此您需要适当调整。

"awk '/^rs/{print $3}'" + "mypath"  ## ?

或者,也许(不确定是否需要转义 $3):

"awk '/^rs/{print }'" + "mypath"  ## ?

有一个 native-Node awk package,考虑改用这个。