Filtrado de flujos de texto
Conceptos Clave
Uso de utilidades de filtrado de texto para modificar flujos de texto.
Términos y Utilidades
- cat
- cut
- expand
- fmt
- head
- od
- join
- nl
- paste
- pr
- sed
- sort
- split
- tail
- tr
- unexpand
- uniq
- wc
Introducción
El filtrado de texto es el proceso de tomar una secuencia de texto de entrada y efectuar algo de conversión del texto antes de enviarlo hacia una secuencia de salida.
En concordancia con la filosofía de Linux, de proveer pequeñas herramientas que puedan ser usadas en conjunto con otras para conseguir objetivos complejos, existen numerosas herramientas para trabajar sobre flujos de texto.
Comandos para combinar archivos
Comando cat
Descripción
Concatena archivos y los muestra en el salida estándar.
Sintaxis
cat [opciones] archivos
Opciones
Opciones | Descripción |
---|---|
-A | Muestra todo. Incluso caracteres que no se suelen mostrar en pantalla, como el signo $ al final de cada línea. |
-n | Numera todas las líneas en el salida. |
-s | Si la salida tiene múltiples líneas vacías las sustituye con una única línea vacía. |
-v | Los caracteres no mostrados (con la excepción de tabuladores, nuevas líneas y saltos de página) se muestran. |
Comando join
Descripción
Se utiliza para combinar dos archivos que tengan un campo clave con información en común. Similar al comando join de una base de datos.
Para poder mezclar la información de ambos archivos, los campos deben estar separados por un carácter, que por defecto es el espacio o tabulador.
Sintaxis
join [opciones] archivo1 archivo2
Opciones:
-i: Ignora mayúsculas y minúsculas.
-t carácter: Utiliza el carácter que se especifique como separador
Comando paste
Descripción
Se utiliza para unir líneas de archivos una a una, separando las líneas con un tabulador.
Sintaxis
paste [opciones] [archivos]
Comandos de transformación de archivos
Comando expand
Descripción
Convierte las tabulaciones en espacios.
Sintaxis
expand [opciones] [archivos]
Comando unexpand
Descripción
Convierte los espacios en tabulaciones.
Sintaxis
unexpand[opciones] [archivos]
Comando od
Descripción
Muestra los archivos en modo octal.
Sintaxis
od [opciones] [archivos]
Comando sort
Descripción
Ordena archivos alfabéticamente.
Sintaxis
sort [opciones] [archivos]
Comando split
Descripción
Divide los archivos en dos o mas archivos mas pequeños.
Sintaxis
sort [opciones] [archivo_entrada] [archivo_salida]
Ejemplo
$ split –l 2 texto.txt
Divide un archivo en varios archivos de dos líneas cada uno.
Comando tr
Descripción
Reemplazar determinados caracteres por otros dentro de un archivo.
Sintaxis
tr [opciones] [cadena_texto[cadena texto]]
Ejemplos
Reemplazar dos puntos “:” por coma “,“.
$ tr ':' ',' < /etc/passwd > Archivopasswd
Reemplazar minúsculas por mayúsculas
$ tr '[a-z]' '[A-Z]' <> mayusculas
Reemplazar espacio por nueva línea
$ tr ' ' '\n' <> lineas
Comando uniq
Descripción
Borra líneas duplicadas.
Sintaxis
uniq [opciones] [entrada[salida]]
Comandos para formatear archivos
Comando fmt
Descripción
Brinda la posibilidad de asignar un formato a la información reduciendo espacio o mostrar la información en la misma línea de la terminal.
Sintaxis
fmt [opciones] [archivos]
Ejemplo
$ fmt –w 10 archivo.txt
El comando anterior formatea el archivo para que tenga un ancho de 10 caracteres.
Comando nl
Descripción
Numera las líneas.
Sintaxis
nl [opciones] [archivos]
Comando pr
Descripción
Prepara un archivo para impresión.
Comandos para visualizar archivos
Comando head
Descripción
Muestra las primeras líneas de un archivo.
Sintaxis
head [opciones] [archivos]
Ejemplo
$ head –n 3 texto.txt
Nos muestra las primera 3 líneas del archivo.
Comando tail
Descripción
Muestra las ultimas líneas de un archivo. Si se le pasa la bandera –f, nos muestra un archivo en tiempo real.
Sintaxis
tail [opciones] [archivos]
Ejemplo
$ tail –f /var/log/messages
Comando less
Descripción
Muestra el contenido de un archivo de a una pagina a la vez
Sintaxis
less [opciones] [archivos]
Comandos para resumir archivos
Comando cut
Descripción
Nos permite buscar y seleccionar columnas o campos dentro de un archivo de texto estructurado.
Sintaxis
cut opciones [archivos]
Comando wc
Descripción
Nos permite contar palabras, líneas y bits.
Sintaxis
# wc [opciones] [archivos]