Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从正在运行的节点脚本向awk命令传递参数?_Javascript_Node.js_Bash_Awk_Child Process - Fatal编程技术网

Javascript 如何从正在运行的节点脚本向awk命令传递参数?

Javascript 如何从正在运行的节点脚本向awk命令传递参数?,javascript,node.js,bash,awk,child-process,Javascript,Node.js,Bash,Awk,Child Process,以下Javascript代码未正确传递命令字符串: cp = require("child_process"); var command = "awk < " + mypath + "\" \$3 ~ \"^rs\" {print \$3}\"" cp.exec(command, function (err, stdout, stderr) {}); cp=require(“子进程”); var command=“awk

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

cp = require("child_process");
var command = "awk < " + mypath + "\" \$3 ~ \"^rs\" {print \$3}\""
cp.exec(command, function (err, stdout, stderr) {});
cp=require(“子进程”);
var command=“awk<”+mypath+“\$3~\“^rs\{print\$3}”
cp.exec(命令,函数(err,stdout,stderr){});

在节点中使用child_进程时,是否有更合适的节点包或Javascript解决方案将引号和美元符号传递给在Bash环境中被调用的Awk解释器?

Hmm,如果我阅读正确:

“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}' /some_file ##  
好的,稍微修改一下;由于我不熟悉您“从中调用”的解决方案,因此您需要进行适当调整

"awk '/^rs/{print \$3}'" + "mypath"  ## ?
或者,也许(不确定你是否需要逃避3美元):


有一个,考虑使用这个。

我自己没有尝试过,但是这看起来很有希望:是的,<代码> MyPATH < /C>变量包含文件名,我想打印从RS开始的每行的第三列,但不幸的是,解决方案中的第一个反斜杠被指示为抛出
SyntaxError:Unexpected token liquired
。注意,建议“类似这样的东西”-因此,上面的内容应该足够接近您,您可以通过一些修补来找到解决方案-检查文档以了解您的编程环境-它应该指定什么/如何“格式化参数”。:)这个awk包是胡说八道,代码是模糊的,实际上不工作,检查唯一的问题。