1

次の(機能しない)コードがあります。

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))にあります。これを達成するにはどうすればよいでしょうか?また、「ls」と「cat」は私が使用している実際のコマンドではありませんが、動的に生成された UNIX コマンドを実行し、出力をストリーミングする原則は同じであることに注意してください。datamap()

4

1 に答える 1