lunes, 11 de marzo de 2013

[UNIX] Filtros y Expresiones Regulares


Expresiones reglares: es un patrón que define a un conjunto de cadenas y caracteres. Se representa con un carácter sencillo que puede ser continuado con uno o varios caracteres de repetición.

^ representa el inicio de una línea.
$ representa el final de una línea.
? el elemento precedente es opcional y debe coincidir al menos una vez
* el elemento precedente debe coincidir cero o más veces.
+ el elemento precedente debe coincidir cero o más veces.
. representa cual quier caracter.
{n} el elemento debe coincidir n veces
{,m} el elemento es opcional y debe coincidir al menos m veces.
{n,m} el elemento precedente debe coincidir al menos n veces, pero no más de m.

Un Filtro es un programa que recibe una entrada, lo procesa y emite una salida.
cat: para mostrar el contenido de un archivo.
grep: imprime en pantalla únicamente las líneas que se le indiquen
tail: ve las ultimas líneas de un archivo
cut:  se usa para cortar y pasar a una salida estandar. 
less, more: crean una salida paginada
sort: ordena el contenido del archivo en orden alfabético.
tr: altera la entrada de forma ordenada
com y diff: compara dos archivos.
wc: cuenta la entrada.
tr: permite cambiar determinado caracter por otro.
sort: nos permite tener una salida ordenada. 
-c (con cut): corta columnas.
-f (con cut): corta campos.
-d(al cortar campo): especifica los caracteres de separación entre campos. 
comm: nos permite comparar el contenido de dos archivos línea por línea.

A continuación se presentan algunas sentencias con grep, cut y sed:
tome como ejemplo lo siguiente: 
datos.txt
gato libro atunn gotas atas

pes gaita ##%% dato oso
.esrc expreso atun gota loco
GAto tierra Gata nada raton
gata canica atunnn fuente gatos
fin

Sentencias:
grep
-Buscar gato en datos.txt
grep gato datos.txt
-Mostrar las líneas del archivo que comiencen con gato
grep "^gato" datos.txt
-Visualiza dos líneas del archivo que contengan la palabra gato/gata 
grep "gat[oa]" datos.txt
-Busca en el archivo aquellas líneas que contengan tres caracteres (los puntos tómelos como numero de espacios)
grep "^...$" datos.txt 

-Muestra una línea que contenga una secuencia de una o más letras mayusculas
grep "[A-Z][A-Z]" datos.txt
-Muestra las líneas que coinciden con un caracter especifico.
grep "^\." datos.txt

-Muestra las lineas que no comienzan con un caracter especifico
grep "^[^.]" datos.txt
-Muestra la línea que contenga cierto numero de caracteres repetidos (tres).
grep "n\{3,\}" datos.txt

-Muestra la línea que tiene cierta secuencia de caracteres
grep "a.o" datos.txt
cut
-Muestra los primeros 6 caracteres de una columna
cut -c1-6 datos.txt
-Muestra los 6 primeros caracteres de la columna uno y los caracteres 12 al 15 de la línea
cut -c1-6, 12-15 datos.txt
-Muestra los caracteres de una fila, solamente una columna
cut -f1-d ' ' datos.txt
-Muestra columna 1 y columna3:
cut -f1,3 -d ' ' datos.txt
-Cuenta los elementos guardados en datos01.txt de la columna 1 y 3.
cut -f1,3 -d ' ' datos.txt > datos01.txt | wc -l datos01.txt
sed

-Muestra un archivo seleccionado con el número de espacios y guarda.
sed 3p datos.txt | grep "^...s" > datos02.txt
-Lanza la línea 03 de datos.txt
sed -n 3p datos.txt

-Lanza las líneas 2 y 5 de datos.txt
sed -n 2,5p datos.txt
-Lanza las líneas que comienzan con p y las líneas que siguen de esta
sed -n '/^p/$p'  datos.txt

-Muestra todas las líneas excepto de la 1 a la 3
sed '1,3d' datos.txt
-Muestra las líneas que no contengan las letras g y p
sed'^/[g-p]/d' datos.txt


espere más sentencias...




Materia: UNIX
Lic. en Informática Janet López.
Instituto Tecnologico de Zacatecas





Copyright © 2014 Black Moral Яesistance | Designed With By Blogger Templates | Distributed By Gooyaabi Templates
Scroll To Top