Je cherche à traiter un fichier texte avec un nœud en utilisant un appel de ligne de commande comme:
node app.js < input.txt
Chaque ligne du fichier doit être traitée individuellement, mais une fois traitée, la ligne d'entrée peut être oubliée.
En utilisant l'écouteur sur les données du stdin, j'obtiens la vapeur d'entrée fragmentée par une taille d'octet, donc je l'ai configuré.
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);
});
Mais cela semble tellement bâclé. Devoir masser le premier et le dernier élément du tableau de lignes. N'y a-t-il pas une manière plus élégante de faire cela?