我有以下(无效)代码:
var es = require('event-stream');
var cp = require('child_process');
es.pipeline(
es.child(cp.exec("ls")),
es.split(/[\t\s]+/),
es.map(function(data,cb){
if ( /\.txt$/.test(data) ) cb(null, data);
else cb();
}),
es.child(cp.exec("cat "+data)) // this doesn't work
)
问题在于最后一个流是从流es.child(cp.exec("cat "+data))
中data
写入的块map()
。如何实现这一目标?另请注意,“ls”和“cat”不是我使用的实际命令,但执行动态生成的 unix 命令和流式输出的原理是相同的。