Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 10
Clase 10
? * {n} + {,m} {n,m} pablo ^pablo pablo$ ^pablo$ ni[oa] ni[^aeiou]o ga o ^ $ ^! ^[^ ] nos* "nio# "*nio#* [a$%][a$%]* [a$%]+ [^0$&'$(] [a$%'$(] ['x)] nio*nia*na+a ,s*arb-usto ga.t[oa] !/ga o!0 !/nio!0 o!{1,!} !t !r !n !a !e !2 !3 !x El elemento precedente es opcional y debe coincidir al menos una vez. El elemento precedente debe coincidir cero o ms veces. El elemento precedente debe coincidir exactamente n veces. El elemento precedente debe coincidir una o ms veces. El elemento precedente es opcional y debe coincidir al menos m veces. El elemento precedente debe coincidir al menos n veces pero no ms de m veces. La cadena pablo. La cadena pablo al principio de la linea. La cadena pablo al final de la linea. La cadena pablo formando una nica lnea. La cadena nio o nia. La tercera letra no es una vocal minscula. La tercera letra es cualquier carcter. Cualquier lnea que contenga caracteres. Cualquier lnea que comienza por punto. Cualquier lnea que no comienza por punto. nio! nios! nioss! niosss! etc nio entre comillas dobles. nio con o sin comillas dobles. una o ms letras minsculas. una o ms letras minsculas "s#lo vlido en algunas aplicaciones$. cualquier carcter que no sea ni nmero ni letra mayscula. cualquier letra sea mayscula o minscula. cualquier carcter que sea %! x o &. una de las tres palabras. la palabra susto o arbusto. gato! gata! gasto! gaita! etc. cualquier palabra que empiece por ga. cualquier palabra que termine por o la palabra nio dos o ms oes en una misma fila. 'epresenta un tabulador. 'epresenta el (retorno de carro( o (regreso al inicio( o sea el lugar en que la lnea vuelve a iniciar. 'epresenta la (nueva lnea( el carcter por medio del cual una lnea da inicio. 'epresenta una (campana( o (beep( que se produce al imprimir este carcter. 'epresenta la tecla (Esc( o (Escape( 'epresenta un salto de pgina. 'epresenta un tabulador vertical. )e utiliza para representar caracteres %)C** o %+)* si conoce su
!u
!+ !4 !s !5 !6 !7 !' !( !b !8
c#digo. ,e esta forma! si se busca el smbolo de derec-os de autor y la fuente en la que se busca utiliza el con.unto de caracteres Latin/0 es posible encontrarlo utilizando (1x%2(. )e utiliza para representar caracteres 3nicode si se conoce su c#digo. (1u44%5( representa el smbolo de centavos. +o todos los motores de Expresiones 'egulares soportan 3nicode. El .+et 6rame7or8 lo -ace! pero el Edit9ad 9ro no! por e.emplo. 'epresenta un dgito del 4 al 2. 'epresenta cualquier carcter alfanum:rico. 'epresenta un espacio en blanco. 'epresenta cualquier carcter que no sea un dgito del 4 al 2. 'epresenta cualquier carcter no alfanum:rico. 'epresenta cualquier carcter que no sea un espacio en blanco. 'epresenta el inicio de la cadena. +o un carcter sino una posici#n. 'epresenta el final de la cadena. +o un carcter sino una posici#n. ;arca el inicio y el final de una palabra. ;arca la posici#n entre dos caracteres alfanum:ricos o dos no/ alfanum:ricos.
Ejemplo : # grep 'root' etc pass!d # grep "i 'root' etc pass!d # grep "i! 'root' etc pass!d # grep "v 'root' etc pass!d # grep "l 'root' etc # $ more
# grep "c 'root' etc # $ more %i queremos que tenga color la &'squeda reali(amos la siguiente exportacin : # export )*E+,O+-.O/%0'""color0auto' )*E+,1O2O*0'34456'
# sed "n ' root p' pass!d o # grep 'root' pass!d <orra desde root hasta nobo+F inclusive. # sed ' root , no&od= d' pass!d %i queremos o&tener un listado slo de los directorios >las 7ilas que comien(an con la letra ?d?@. +odramos utili(ar el sed para &orrar las entradas que no comien(an con esa letra: # ls "l $ sed ' Ad Bd' 1omo vemos el sm&olo de exclamacin CH# detrs de la expresin regular niega la condicin. De&era leerse como &orrar todas las lneas que no comiencen con la letra '+' Otra 7orma : # ls "l $ sed ' Ad p' %ustituir los valores 3EF por ;8G: # echo C3EFH $ sed '= I3EFJ I;8GJ ' ;8G %acar los ta&uladores de un archivo = reempla(arlo por un espacio : # vi texto.txt 9ola :undo B BBBB
# cat texto.txt $ sed 's KtKL g' %acar los mas de un espacio de un archivo = reempla(arlo por un espacio : # vi texto.txt 9ola :undo B BBBB
# cat texto.txt $ sed 's KL g' +rocesando varias lineas # vi agenda.txt *egistro: 3 /om&re: Mni&al -ele7ono: GE3"EEN *egistro: E
/om&re: 9ector -ele7ono: 8GE"E;8 *egistro: F /om&re: +a&lo -ele7ono: GEE"F8; O queremos o&tener lo siguiente : 35Mni&al5GE3"EEN E59ector58GE"E;8 F5+a&lo5GEE"F8; Pna solucin es poder leer de a una lnea a la ve(. Este pro&lema se resuelve con el comando ">#, que 7uer(a la lectura de la siguiente lnea en la iteracin actual. # sed '/5/5/5s Kn 5 g5s A*egistro: K>.#K@5/om&re: K>.#K@5-ele7ono: K>.#K@5Q K35KE5KF ' agenda.txt
%on F lneas >/@. Rue reemplace el retorno de carro "!n# por un "I# &u77er 0 ?*egistro: 35/om&re: Mni&al5-ele7ono: GE3"EEN5? %acar las pala&ras "<egistroJ #, #>ombreJ #, ";ele2onoJ # = el punto = coma de la linea. 2os parSntesis !, *!- representa a cada valor !1, !1 = !K.