如何将参数从 运行 节点脚本传递给 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,考虑改用这个。
以下 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,考虑改用这个。