簡體   English   中英

如何解析標准輸出的輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM