Hi all,
this is my code:

#!/usr/bin/env node

var path = require('path');
var fs = require('fs');

var util = require('util');
var stream = require('stream');
var es = require('event-stream');
var normalized_path = path.normalize(process.argv[2])
var unified_unique_urls_file_path = path.join(process.cwd(), 
normalized_path)
var unified_unique_urls_file_name = normalized_path + "_unified_unique.txt"
var unified_unique_urls_file = unified_unique_urls_file_path + "/" + 
unified_unique_urls_file_name
//console.log(unified_unique_urls_file)
// 
http://stackoverflow.com/questions/16010915/parsing-huge-logfiles-in-node-js-read-in-line-by-line

var lineNr = 1
var rs = fs.createReadStream(unified_unique_urls_file)

rs.pipe(es.split()) // split stream to break on newlines
rs.pipe(es.map(function(line) { // es.map turns this async function into a 
stream
    // pause the readstream
    rs.pause();
    lineNr += 1;
    (function() {
        // process line here and call s.resume() when ready
        callback(line)
        //logMemoryUsage(lineNr);
        // resume the readstream
        rs.resume();
    })();
})
.on('error', function() {
    console.log('Error while reading file.');
    })
.on('end', function() {
    console.log('Read entire file.');
    })
);

function callback(line) {
    var lineS = line.toString()
    var lengthy_lines = [];
    var shorty_lines = [];
    //console.log("Ecco i dati in input: ", lineS);
    var lengthy = lineS.length;
    console.log("lenght of the line: ", lengthy);
    if (lengthy > 10)
        lengthy_lines.push(lineS);
    else
        shorty_lines.push(lineS);

    console.log("lenghty lines are: ", lengthy_lines)
    console.log("short lines are: ", shorty_lines)
}

and the objective is to read the txt file (located in a directory) 
line-by-line and get, for each line, the length of the line.
So...the objective is to read in a stream mode the file and process it 
line-by-line.

but the output is:
time ./stream_callback.js example_1
lenght of the line:  415
lenghty lines are:  [ 'Prova prova prova\nOur seat and site license 
programs allow schools, organizations and corporations to purchase digital 
access for multiple users at a group discount\nLa recaudación por las 
películas en ‘streaming’ se multiplicó por 10 en Europa en cinco años\nLe 
fantastiche immagini del telescopio spaziale Hubble: in un quarto di secolo 
ha cambiato il nostro punto di vista sul galassie, stelle, pianeti e 
nebulose\n' ]
short lines are:  []

instead of getting the lenght of line, it gives the total length...
Any ideas?

Looking forward to your kind help.
Marco

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/e3414a7b-2a2b-4404-9733-be31be22b948%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: stream_callback_dir.tar.gz
Description: Binary data

Reply via email to