Javascript 如何在jrunscript或jjs中访问stdin(在win7上)
我在谷歌上搜索了很多次,但没有找到任何东西告诉我在使用jrunscript执行JS时如何访问stdin 这似乎不可能 用例: 我想写一个小JS脚本,在cmd上使用regex替换,我想通过管道传递文本数据,例如Javascript 如何在jrunscript或jjs中访问stdin(在win7上),javascript,windows,batch-file,Javascript,Windows,Batch File,我在谷歌上搜索了很多次,但没有找到任何东西告诉我在使用jrunscript执行JS时如何访问stdin 这似乎不可能 用例: 我想写一个小JS脚本,在cmd上使用regex替换,我想通过管道传递文本数据,例如 >cat file | jrunsscript -f apply-regex.js 。。。结果出来了(我可以通过管道将结果写入文件等) 因此,我需要访问stdin以读取通过管道传输到jrunscript的内容 旁注:为此,我通常使用sed,但在某些情况下,正则表达式本身包含引号时会
>cat file | jrunsscript -f apply-regex.js
。。。结果出来了(我可以通过管道将结果写入文件等)
因此,我需要访问stdin以读取通过管道传输到jrunscript的内容
旁注:为此,我通常使用sed,但在某些情况下,正则表达式本身包含引号时会出现问题。不确定这是否与主题有关:
读取(提示,多行)
之后从标准输入中读取一行或多行
打印提示
根据您的评论,我认为您需要使用如下参数:
用法:
jrunscript-f test.js“Hello World”
获取参数:
document.write(参数[0])代码>
通过进一步研究,您可以通过互动模式阅读:
jrunscript-f-
交互式模式,从标准输入读取脚本。如果使用此选项,则应为最后一个-f选项
但仍不清楚这是否正是您要查找的内容。不确定这是否与主题有关:
读取(提示,多行)
之后从标准输入中读取一行或多行
打印提示
根据您的评论,我认为您需要使用如下参数:
用法:
jrunscript-f test.js“Hello World”
获取参数:
document.write(参数[0])代码>
通过进一步研究,您可以通过互动模式阅读:
jrunscript-f-
交互式模式,从标准输入读取脚本。如果使用此选项,则应为最后一个-f选项
但仍不清楚这是否正是您想要的。目前的解决方法是
通过管道将输入导入文件
将tempfile作为arg传递给jsrunscript
根据需要使用JS输出
目前的解决办法是
通过管道将输入导入文件
将tempfile作为arg传递给jsrunscript
根据需要使用JS输出
学习一下Java
在文件JJS\u中说\u HI.js
//Java-y位
var br=new java.io.BufferedReader(
新的java.io.InputStreamReader(
java.lang.System.in,
java.nio.charset.StandardCharsets.UTF_8)
);
//JavaScript-y位
var line=“”;
while(br.ready()){
line=br.readLine();
打印(“JJS说:${line}”);
};
用如下命令测试整个混乱:echo Hi!|jjs-编写jjs_说_HI.js
输出是JJS说:嗨代码>(在Windows上)试试Java
在文件JJS\u中说\u HI.js
//Java-y位
var br=new java.io.BufferedReader(
新的java.io.InputStreamReader(
java.lang.System.in,
java.nio.charset.StandardCharsets.UTF_8)
);
//JavaScript-y位
var line=“”;
while(br.ready()){
line=br.readLine();
打印(“JJS说:${line}”);
};
用如下命令测试整个混乱:echo Hi!|jjs-编写jjs_说_HI.js
输出是JJS说:嗨
(在Windows上)这与Windows批处理(.bat)文件有什么关系?@Squashman:更新了我的操作。bat将jrunscript-f apply regex.js
分解为apply js regex.bat
这与Windows批处理(.bat)有什么关系文件?@Squashman:更新了我的OP.the.BAT将jrunscript-f apply regex.js
分解成apply js regex.BAT
抱歉,这没有切断它。更新了我的OP以提供更多的上下文抱歉,没有删掉它。更新了我的OP以提供更多上下文