[英]How to parse output of stdout
例如,如果在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
感谢您的帮助
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' ]
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.