Вы можете передавать загруженный контент в текстовый редактор vim на своем терминале с помощью следующего кода nodejs:
const { spawn } = require('child_process');
const request = require('request');
//
request({
url: 'https://google.com'
}, function (err, res, body) {
const vi = spawn('vi', ['-'], { stdio: ['pipe', process.stdout, process.stderr] });
vi.stdin.write(body);
vi.stdin.end();
});
Затем с вашего терминала, если вы выполните этот код, он загрузит HTML-код Google и позволит вам отредактировать и сохранить его в файл. Вы можете использовать :w myfile.txt
для сохранения в файл в vim.
Дополнительная информация по этому вопросу: https://2ality.com/2018/05/child-process-streams.html
О загрузке 2 файлов:
diff <(curl $url_1) <(curl $url_2)
это фактически создание 2 файловых дескрипторов (fd) и использование их в качестве аргументов для diff. Это почти то же самое, что дать 2 пути к файлам для diff
diff downloadedFile1 downloadedFile2
Вы можете использовать имена файлов, начинающиеся с точки и подчеркивания, чтобы предотвратить переопределение любого другого файла, или просто проверить, существует ли файл, а затем создать файл и использовать эти файлы в качестве аргументов. Это намного проще и чище.
Выше объяснено лучше в этом ответе как
"<(list)
соединяет вывод списка с файлом в /dev/fd
"