verificación google

martes, 10 de julio de 2018

Contar lineas desde linux en /bin/bash con el comando wc

Seguro que en muchas ocasiones has necesitado contar lineas desde la consola de linux. Yo en alguna ocasión (antes de conocer el comando wc) he copiado desde el terminal para pegar en un calc o alguna otra aplicación de más alto nivel para contar un resultado. Pero puede que esto no lo tengas siempre disponible y sabemos que siempre es mucho más rápido realizar operaciones directamente en la linea de comandos.

Contar las líneas de un fichero con el comando wc

Los usuarios de GNU/Linux disponemos del comando wc (sigla de Word Count). Este comando nos permite contar las líneas (entendiendo como tal el número de caracteres nueva línea), bytes o palabras.

Para contar las líneas, simeplemente ejecutamos:
wc -l <fichero>
En <fichero> se introduce el nombre o nombres de los archivos en los que queremos efectuar el recuento. Cuando son varios los archivos, el comando devuelve, además, una línea resumen con la suma de los conteos efectuados.

Contar palabras de un fichero con el comando wc

Podemos también utilizar el comando wc para contar palabras, en cuyo caso se consideran como tal las secuencias de longitud no-nula delimitadas por espacios o directamente caracteres. En este caso, la llamada  sería:
wc -w 1<fichero>
Otras opciones interesantes son el uso de los modificadores -c y -m, que te devuelven el número de bytes y/o caracteres del archivo, respectivamente. Hay que destacar que el carácter de fin de línea también se cuenta. Para terminar destacamos el modificador -L, que nos devuelve la longitud máxima de línea.

Contar salida de un comando con wc

Esta será posiblemente la opción que más utilizo personalmente cuando necesito utilizar el comando wc. Consiste en desviar la salida de un comando utilizando tuberías (pipes) a la entrada del siguiente comando, en este caso wc.

Por hacer un ejemplo muy simple, en lugar de contar las lineas de un fichero utilizando:
wc -l mifichero.txt
También podríamos utilizar:
cat mifichero.txt | wc -l
Estos dos comandos realizarán la misma operación; contar el número de lineas del fichero mifichero.txt, pero con esta funcionalidad podríamos realizar operaciones mucho más interesantes. Podríamos crearnos un script que realice distintos procesos en su interior y posteriormente contar el resultado.
./miscript.bash | wc -l

Otras opciones

Si empleamos wc sin archivos de entrada, el conteo se hará sobre la entrada estándar y se contará sobre lo que escribamos en consola. para salir de este modo, se pulsará Ctrl+D y el programa nos devuelve los valores que hemos pedido al invocar el comando.

Por último, os indico que si invocamos el comando sin opciones de conteo (contar las líneas, las palabras, etc), el comando nos devolverá directamente cuatro columnas: la cuenta de palabras, de líneas y de bytes totales del archivo.

No hay comentarios:

Publicar un comentario