如何将参数从运行的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" ## ?