【发布时间】:2015-08-17 05:36:10
【问题描述】:
是否可以将每个写入标准的字符串通过管道传输到另一个命令?
// file example.js
#!/usr/bin/env node
process.stdout.write('foo')
process.stdout.write('bar')
当我运行 ./example.js | wc -m 时,我得到 6,这是 foo 和 bar 的字符长度值。
我想分别获取值 3 和 3。我必须在我的 javascript 文件中做一些特别的事情吗?还是命令?
【问题讨论】:
-
示例中的“管道”使用“stdout”,即“流”。大多数程序(如“wc”)一次从流中读取一行。您可以轻松编写一个程序,一次读取一个字符,然后在到达空白处时停止。顺便说一句:wc 可以计算标准输出中的单词(默认)、行和/或字符。
-
@paulsm4 如果我的内容是一个有空格的文件怎么办,比换行符或空格更可靠的分隔符是什么?
标签: javascript node.js unix pipe stdout