मैं कमांड लाइन कॉल की तरह नोड के साथ एक टेक्स्ट फ़ाइल संसाधित करना चाहता हूं:
node app.js < input.txt
फ़ाइल की प्रत्येक पंक्ति को व्यक्तिगत रूप से संसाधित करने की आवश्यकता होती है, लेकिन एक बार संसाधित होने पर इनपुट लाइन को भुलाया जा सकता है।
स्टड के ऑन-डेटा श्रोता का उपयोग करते हुए, मुझे बाइट के आकार से चिपकाया गया इनपुट स्टीम मिलता है इसलिए मैंने इसे सेट किया।
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);
});
लेकिन यह इतना फूहड़ लगता है। लाइनों के पहले और अंतिम आइटम के चारों ओर मालिश करना। क्या ऐसा करने का अधिक सुरुचिपूर्ण तरीका नहीं है?