Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 10
Clase 10
Expresiones regulares
?
*
{n}
+
{,m}
{n,m}
pablo
^pablo
pablo$
^pablo$
ni[oa]
ni[^aeiou]o
ga.o
^....$
^\.
^[^.]
nos*
nio
*nio*
[a-z][a-z]*
[a-z]+
[^0-9A-Z]
[a-zA-Z]
[Ax5]
nio|nia|nada
(s|arb)usto
ga?t[oa]
\<ga
o\>
\<nio\>
o\{2,\}
\t
\r
\n
\a
\e
\f
\v
\x
\u
\d
\w
\s
\D
\W
\S
\A
\Z
\b
\B
Ejemplo :
# grep 'root' /etc/passwd
# grep -i 'root' /etc/passwd
# grep -iw 'root' /etc/passwd
# grep -v 'root' /etc/passwd
# grep -l 'root' /etc/* | more
Comandos :
d
i
s
p
\+
N
y
Borrar linea.
Insertar.
Sustituir.
Listar.
Mas de una expresin.
Fuerza la lectura de la siguiente lnea en la iteracin actual.
Sustituir.
Ejemplo :
# cp /etc/passwd .
# sed '1d' passwd | more
# sed '1,5d' passwd | more
# sed '1i Hola Mundo' passwd | more
# sed 's/root/pepe/' passwd | more
# sed -n '1,4p' passwd
!!!!
!!!!
Nombre: Hector
Telefono: 562-245
Registro: 3
Nombre: Pablo
Telefono: 622-354
Y queremos obtener lo siguiente :
1;Anibal;621-229
2;Hector;562-245
3;Pablo;622-354
Una solucin es poder leer de a una lnea a la vez. Este problema se resuelve con el comando N,
que fuerza la lectura de la siguiente lnea en la iteracin actual.
# sed 'N;N;N;s/\n/;/g;s/^Registro: \(.*\);Nombre: \(.*\);Telefono: \(.*\);$/\1;\2;\3/'
agenda.txt