Filtros Y ExpresionesRegulares
Comandos de Filtro
Introducción a Filtros
• Un grupo de comandos que leen alguna
entrada, realizan una transformación y
escriben una salida.
–
–
–
–
–
–
find
grep
egrep
fgrep
sort
tr
–
–
–
–
–
–
sed
join
unique
head, tail
wc
cut
Expresiones Regulares
• La expresiones regulares son patrones que
describen un conjunto de cadenas de
caracteres.
• Se utilizan en:
– operaciones decomparación.
– búsquedas o sustituciones de gran complejidad.
• Las expresiones regulares se construyen como
las
expresiones
aritméticas,
utilizando
operadores para combinar expresiones más
pequeñas.
Expresiones Regulares
• El conjunto de metacaracteres
expresiones regulares es el siguiente:
para
\^$.[]{}|()*+?
Expresiones Regulares
Operador Significado
C
un caracter no especial concuerda
consigomismo
\C
elimina significado especial de un
caracter C. El \ escapa el significado
especial
^
indica comienzo de línea
$
indica final de la línea
•
(punto) un caracter, cualquiera menos
fin de línea)
Expresiones Regulares
Operador Significado
[...]
un caracter cualquiera de los
caracteres ... Acepta intervalos del
tipo a-z, 0-9, A-Z
[^...]
un caracter distinto de ... Acepta
intervalos del tipoa-z, 0-9, A-Z
R*
0, 1 o más ocurrencias de la ER R
(repetición)
R1R2
la ER R1 seguida de la ER R2
(concatenación)
Expresiones Regulares
Exp. Reg.
a.b
a..b
[abc]
[aA]
[aA][bB]
Coincide con
aXb aab abb adb a9b ...
aXXb aaab abbb a6;b ...
a b c (cadenas de un caracter)
a A (cadenas de un caracter)
ab Ab aB AB (cadenas de dos
caracteres)
[0123456789] 0 1 2 3 4 5 6 7 8 9
Expresiones Regulares
Exp.Reg.
[0-9]
[A-Za-z]
[0-9][0-9][0-9]
[0-9]*
[0-9][0-9]*
^.*$
Coincide con
0123456789
A B C ... Z a b c ... z
000 001 … 009 010 … 019 100 … 999
cadena vacía, 0 1 9 00 99 123 456 999
9999 ...
0 1 9 00 99 123 456 999 9999 99999
99999999 …
cualquier línea con más de un caracter
Expresiones Regulares Extendidas
• Algunos comandos, como egrep o grep -E,
aceptan Expresiones Regulares Extendidas.
•Comprenden las Expresiones Regulares
Básicas más algunos operadores que permiten
construcciones más complejas.
Expresiones Regulares Extendidas
Operador
• R+
• R?
• R{N}
• R{N,}
• R{,M}
Significado
1 o más ocurrencias de la Exp.
Reg. R
0 o una ocurrencia de la Exp. Reg.
R, y no más
N ocurrencias de la Exp. Reg. R
N o más ocurrencias de la Exp.
Reg. R
0 o a lo sumo M ocurrencias de la
Exp. Reg. RExpresiones Regulares Extendidas
Operador
• R{n,m}
• R1|R2
• (R)
• “R"
Significado
N o más ocurrencias de la Exp.
Reg. R, pero a lo sumo M
la Exp. Reg. R1 o la Exp. Reg. R2
(alternativa)
Exp. Reg. anidada
evita que los caracteres de la Exp.
Reg. R sean interpretados por el
shell
Expresiones Regulares Extendidas
• Ejemplos
– [0-9]+
• 0 1 9 00 99 123 456 999 9999 99999 99999999 ..
– [0-9]?
•cadena vacía, 0 1 2 .. 9
– ^a|b
•ab
Expresiones Regulares Extendidas
• Ejemplos
– (ab)*
• cadena vacía, ab abab ababab ...
– ^[0-9]?b
• b 0b 1b 2b .. 9b
– ([0-9]+ab)*
• cadena vacía, 1234ab 9ab9ab9ab 9876543210ab
99ab99ab ...
Comando grep, egrep y fgrep
• grep [ -e PATRON | -f ARCHIVO | PATRON ]
OPCIONES ARCHIVO ...
– recorre los archivos indicados extrayendo las
líneas que coinciden con unpatrón de cadena de
caracteres.
Comando grep, egrep y fgrep
– G el patrón es una expresión regular básica.
opción por defecto.
–E
el patrón es una expresión regular
extendida.
–F
el patrón es una cadena fija.
• Existen dos variantes:
• egrep similar a grep -E
• fgrep igual a grep -F.
Comando grep, egrep y fgrep
• Parámetros:
–c
sólo muestra la cantidad de líneas
– e PATRON usa el patrónindicado; útil cuando el
patrón empieza con – f ARCHIVO obtiene los patrones del archivo, uno por
línea
–h
suprime indicación de archivo cuando se
busca en varios archivos
–i
ignora mayúsculas y minúsculas en el
patrón y en los archivos
Comando grep, egrep y fgrep
• Parámetros:
–n
–v
indicar número de línea
muestra las líneas que no coinciden con el
patrón
– w hace coincidir el patrón como una...
Regístrate para leer el documento completo.