[解決済み】Nodeでstdinから一行ずつ読み込む方法
2022-04-05 18:02:24
質問
テキストファイルをnodeで処理したいのですが、コマンドラインから以下のように呼び出すことができます。
node app.js < input.txt
ファイルの各行を個別に処理する必要がありますが、一度処理した入力行は忘れてもかまいません。
stdinのon-dataリスナーを使うと、入力された蒸気がバイトサイズでチャンクされるので、これを設定する。
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lingeringLine = "";
process.stdin.on('data', function(chunk) {
lines = chunk.split("\n");
lines[0] = lingeringLine + lines[0];
lingeringLine = lines.pop();
lines.forEach(processLine);
});
process.stdin.on('end', function() {
processLine(lingeringLine);
});
しかし、これではとてもぞんざいな印象を受けます。lines配列の最初と最後の項目をマッサージする必要があります。もっとエレガントな方法はないのでしょうか?
どのように解決するのですか?
を使用することができます。 リードライン モジュールは、標準入力から一行ずつ読み込むことができます。
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function(line){
console.log(line);
})
関連
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] npmスクリプトへのコマンドライン引数の送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】 console.logの出力をどこに永久保存するか?
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] ノードマータ予期せぬフィールド