Escribe un programa que usando una llamada síncrona al sistema de archivos lea un archivo recibido por argumento e imprima a consola la cantidad de líneas que contiene. Similar a ejecutar cat file | wc -l.

El programa recibirá la ruta al archivo como único argumento.


PISTAS

Para resolver este ejercicio usaremos el módulo fs del nùcleo de Node. Para cargar dicho módulo o cualquier módulo es necesario hacer:

var fs = require('fs')

De este modo, el módulo fs estará disponible en esa variable.

Toda operación síncrona (o de bloqueo) del sistema de archivos en el módulo fs tiene sufijo 'Sync'. Para leer un archivo debes usar fs.readFileSync('/path/to/file'). Éste devuelve un objeto Buffercon los contenidos del archivo.

Puedes leer la documentación del módulo fs en: /node_apidoc/fs.html

Los objetos Buffer de Node's son una representación eficiente de Arrays de datos en variedad de formatos como ser ASCII, binarios o UTF-8 entre otros. Los objetos Buffer se pueden convertir en String usando el método toString() por ejemplo: var str = buf.toString().

Puedes leer la documentación del objeto Buffer en: /node_apidoc/buffer.html

Una forma sencilla de contar los números de línea es dividir el String con la función split, nativa de JavaScript, usando el carácter de nueva línea ('\n'). Ten en cuenta que el archivo puede no tener '\n' al final por lo que la lista resultante puede tener 1 elemento más que líneas el archivo.