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

以下Javascript代码不能正确传递命令string:

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

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

有一个native-Node awk包 ,可以考虑用这个代替。

嗯,如果我正确阅读这个:

“awk <”+ mypath +“\”\ $ 3〜\“^ rs \”{print \ $ 3} \“”

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

 awk '{print $0}' /some_file # print each line 

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

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

每行以'rs'开始打印第三个variables?

也许是这样的:

好的,修改了一下; 由于我不熟悉“从…调用”的解决scheme,因此您需要适当调整。

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

或者,也许(不知道你是否需要逃避$ 3):

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