2017-11-11 264 views
0

例如输出如果孩子的NodeJS过程类似执行:如何分析标准输出

exec("find /path/to/directory/ -name '*.txt'", callback); 

如何可以解析在我的回调函数的流输出到一个数组中得到的东西,像这样?

['file-1.txt', 'file-2.txt', 'file-3.txt', ...] 

电流输出就像下面:

path/to/file-1.txt 
path/to/file-2.txt 
path/to/file-3.txt 

感谢您的帮助

+0

不回调返回这里什么参数? – wrangler

+0

回调函数(误差,标准输出,标准错误){...} 返回的输出看起来像这样: '路径/到/ file1.txt' '路径/到/ file1.txt' –

+0

返回的输出的回调如下所示: 'path/to/file1.txt'
'path/to/file2.txt'
'path/to/file3.txt' –

回答

0
const exec = require('child_process').exec; 
exec("find /path/to/directory -name '*.txt'", (error, stdout, stderr) => { 
    if (error) { 
     // handle error 
    } else { 
     var fileNames = stdout.split('\n').filter(String).map((path) => { 
      return path.substr(path.lastIndexOf("/")+1); 
     }); 
     console.log(fileNames); // [ 'file1.txt', 'file2.txt', 'file3.txt' ] 
    } 
}); 

const exec = require('child_process').exec; 
exec("ls /path/to/directory | grep .txt", (error, stdout, stderr) => { 
    if (error) { 
     // handle error 
    } else { 
     var fileNames = stdout.split(/[\r\n|\n|\r]/).filter(String); 
     console.log(fileNames); // [ 'file1.txt', 'file2.txt', 'file3.txt' ] 
    } 
}); 
相关问题