javascript - 如何使用 node.js 读取输入文件、修改其内容并将结果保存到输出文件?

标签 javascript node.js terminal

在我的项目中,我有一个类似于此程​​序的输入文件:

 var fs = require('fs');
 var str = fs.readFileSync('input.txt', 'utf8');

但我不得不在我的终端中使用这个命令:

cat input.txt | ./prog.sh > 结果.txt

你能帮帮我吗,因为我没有找到如何在终端中使用这种命令在 JS 中编写通用输入文件?

最佳答案

以下代码允许在终端命令的入口处获取文档的每个名称类型,此代码运行良好:

#!/usr/bin/env Node

let chunk = "";

process.stdin.on("data", data => {
    chunk += data.toString();
});

process.stdin.on("end", () => {
    chunk.replace(/^\s*[\r\n]/gm,"").split(/\s+/).forEach(function (s) {
        process.stdout.write(
        s === 'bob'
        ? 'boy \n'
        : s === 'alicia'
           ? 'girl\n'
           : s === 'cookie'
               ? 'dog \n'
               : 'unknown \n');
    });
});

我们可以通过以下命令正确执行: 猫输入.txt |/prog2.js > result.txt

关于javascript - 如何使用 node.js 读取输入文件、修改其内容并将结果保存到输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707940/

相关文章:

javascript - 如何等待异步函数并收集响应

node.js - 如何在docker中安装nvm?

终端 - 清除半屏

macos - 仅文件夹/无文件如何 "SVN UP --set-depth infinity"

macos - 执行后退出终端

javascript - 用于忽略某些 .dot.js 文件的 Glob 模式

javascript - 简单的混淆循环和变量工作

javascript - Angular2 不起作用

json - 使用 Node js 循环 json 文件时未定义目录

javascript - 在Promise中,response.status返回的是其他Promise而不是状态码