LPIC

Guía extraoficial de estudio

Archivos en la Categoría: – Resumir ficheros (cut y wc)

Comandos para resumir ficheros (cut y wc)

En esta entrada vamos a ver los los últimos comandos de filtrado de texto que nos faltan. Veamos los comandos cut y wc.

Cut

Es utilizado para la extracción de segmentos (campos, caracteres o bytes) de un fichero de entrada para mostrarlos por la salida estándar. Sus opciones son:

Flag Resultado
-b o –bytes Corta por el número de bytes especificados
-c o –characters Corta por el número de caracteres especificados
-f o –fields Corta por el número de campos especificados. Por defecto los campos están delimitados por una tabulación, aunque podemos cambiar el carácter delimitador con “-d carácter_delimitador”).

Con ejemplos lo entenderemos mejor. Vamos a ver el formato del fichero passwd:

[super@localhost ~]$ cat /etc/passwdsuper:x:1000:1000:super:/home/super:/bin/bash
usuario1:x:1002:1000:usuario1:/home/usuario1:/bin/bash
usuario2:x:1003:1000:usuario2:/home/usuario2:/bin/bash
usuario3:x:1004:1000:usuario3:/home/usuario3:/bin/bash
usuario4:x:1005:1000:usuario4:/home/usuario4:/bin/bash

En este caso, los campos están delimitados por “:”, y no por tabulaciones. Tendremos que usar el flag -d para cambiar el campo delimitador. Si quisiéramos obtener un listado de los usuarios del sistema y su directorio home (campos 1 y 6), deberíamos ejecutar la siguiente orden:

[super@localhost ~]$ cat passwd | cut -f1,6 -d”:”
super:/home/super
usuario1:/home/usuario1
usuario2:/home/usuario2
usuario3:/home/usuario3
usuario4:/home/usuario4

Observamos que hemos utilizado -f1,6 para que nos corte los campos 1 y 6. Si quisiéramos que nos cortara todos los campos que van del 1 al 6, la sintaxis sería -f1-6, y si en vez de campos, queremos cortar por caracteres, seria -c1-6, para cortar los caracteres del 1 al 6.

Wc (Word Count)

Comando que genera un contador de palabras, lineas o bytes. Su uso es muy sencillo y útil.

[super@localhost ~]$ wc /etc/passwd
36   56 1788 /etc/passwd

El resultado nos indica que el fichero contiene 36 lineas, 56 palabras y 1788 bytes. Si queremos especificar un único formato de salida, se haría con

Flag Resultado
-l o –lines Cuenta las lineas
-w o –words Cuenta las palabras
-c o –bytes Cuenta los bytes
-m o –chars Cuenta los caracteres
Anuncios