Filtres de text
De WikiMar
A nice summary of commands to filter text using Pipes can be found at: http://lpi.aluzina.org/wiki/101_103-guion
Here a copy of one part of it:
Process text streams using filters
- Valor de retorno
- Canales POSIX:
- Entrada
- Salida
- Error
- Ficheros, dispositivos, todo dispositivo abierto!
- Parámetros
- Para programadores: similitudes con return, standar output, open, dup, args....
- cat
- cut: elimina de las lineas de la entrada estándar los caracteres que le digamos.
- expand: convierte tabuladores a espacios.
- fmt: formatear párrafos (ancho, sangría, saltos de línea).
- head: principio de un stream.
- join: junta dos ficheros con campos de unión iguales.
- nl: añade números de línea.
- paste: convierte los ficheros de entrada en un solo fichero donde los ficheros ocupan una columna.
- pr: formatea para imprimir un texto.
- sed: permet moltes opcions per filtrar. També buscar expressions regulars.
- sort: ordena líneas.
- split: parte un fichero cada X líneas.
- tac: como cat pero revierte las líneas.
- tail: como head pero por la cola.
- tr: convierte/elimina caracteres de un tipo especificado.
- unexpand: contrario que expand.
- uniq: quita líneas repetidas. Útil junto a "sort".
- wc: cuenta las palabras, líneas, bytes...
From another page: http://lpi.aluzina.org/wiki/Plantilla:1.103.2
Procesar flujos de texto usando filtros
Comandos que deben saberse de memoria:
- cat / more / less / tac
- cut -b -c -d -f
- expand. Pasa tabuladores a espacios
- fmt -u -w. Pasa un archivo de texto a justificación completa
- head -c -l / tail.
- paste f1 f2. Concatena columnas
- join -j1 f1 f2. (hace el típico join de una base de datos)
- nl
- od -t A. El tipo puede ser: A (carácter), C (ascii), O (octal), x (hex).
- Más moderno es hexdump
- pr. Paginar
- uniq. Para controlar repeticiones
- sort. Ordenar
- split [-l lineas] [-b bytes] f1 f2
- tr a-z A-Z
- wc -c -w -l. -c (carácteres), -w (palabras), -l (líneas)
- xargs -n1 cmd
- sed. Editor de flujo, una expresión está formada por 4 campos:
- direccionamiento: línea (3), conjunto de líneas: (2,5), intervalo (1~2), última ($), líneas que coincidan (/expr/)
- posible negación: !
- comando: borrar (b) o reemplazar (s/ / /)
- argumentos: global (g), primera ocurrencia (1), imprime si sustituye (p)