BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(09/02/2010 14:25:46)
    
Google


En bulma.net
En internet
Tutorial de Expresiones Regulares (161422 lectures)
Por Daniel Rodriguez
DaniRC (http://www.ibiza-beach.com/)
Creado el 30/07/2001 12:25 modificado el 15/02/2002 12:45

Pagina9/14

SED es un editor de textos no interactivo diseñado para funcionar en Unix y ayudar con los scripts.

Editando Texto

Sed actua como un filtro, y esta orientado a lineas. La forma que tiene de trabajar suele ser un patrón y unas ordenes que aplicar a una serie de lineas.

Patrones orientados a linea

Un ejemplo simple del funcionamiento del Sed es "Borrar las 10 primeras lineas de un documento"

 sed -e '1,10d'

El -e ejecuta el comando. En este sentido es realmente muy parecido al vi. Por ejemplo, sabiendo que $ indica fin del documento. Si queremos borrar todo menos las primeras 10 lineas haremos:

 sed -e '11,$d'

Lo que no puede hacerse es usar el sed con comandos relativos y complicados como por ejemplo:

 sed -e '$-10,$d'

En este caso el sed no comprendera que intentamos hacer.

Otra forma de obtener las 10 primeras lineas es con el modificador -n y la p. La p para que imprima esa linea, y el -n si no recuerdo mal es para que no haga eco en pantalla.

 sed -n -e '1,10p'

Usando mas de un comando a la vez

 sed -e '1,4d 6,9d'  o bien  sed -e '1,4d' -e '6,9d'

Usando las expresiones regulares en los patrones

El ejemplo tipico es ese fichero larguisimo de log's en el que no sabes que lineas borrar, pero en que quieres borrar todas las lineas que contengan la palabra debug

 sed -e '/debug/d' < log que es lo mismo que si hiceramos grep -v debug

Un ejemplo mas rebuscadillo

Ahora ya no nos basta con borrar las lineas que tienen debug, sino que queremos borrar todas las lineas de debug que no tengan la palabra foo en esa misma linea. Eso se suelve hacer asi:

 grep 'foo' < log | grep -v debug

Pero podemos usar el sed para ello de esta forma:

 sed -n -e '/debug/d' -e '/foo/p'

Ahora las lineas que tienen debug son impresas si tienen la palabra foo, asi que no se borran. Es una explicacion muy mala, pero bueno, estas cosas, nada como probarlas para acabar de entenderlas ¿vale?

Insertando texto

Se puede insertar texto con i y con a. El primero para insertar antes de la linea en curso y el segundo para insertar despues de la linea en curso. Por ejemplo 1i para insertar en la primera linea y $a para insertar al final del documento

 sed -e '10i\ Texto a insertar'

Se puede reemplazar la linea en curso con la c

sed -e '10c\ Nuevo contenido de linea 10'

Sustitución de expresiones regulares

 sed -e 's/patron/reemplazo/[modificadores]'

Notas Finales

Ante todo gracias al autor del minitutorial ingles en que me he basado -no recuerdo su nombre-, no soy un plagiador, solo que me cuesta mucho estructurar un tutorial, asi que le robo la estructura de contenidos a otra gente XD.

Venga, ahora a practicar y a leerse las man's


Paginas: <<Abreviatura Anterior  1  2  3  4  5  6  7  8  9  10  11  12  13  14  Abreviatura Siguiente>>

Imprimir
Version para
imprimir

Imprimir
Version
PDF
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 169
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Sed, un editor de flujo (a stream editor)
. AWK paso a paso... y sin usar el ratón
. Filtrando mensajes con Postfix
. Explorador visual de expresiones regulares
. Expresiones Regulares - Conceptos Avanzados -
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 9/2/2010 12:13:19 | Tiempo Total: 0.013 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 09/02/2010 16:20 CET
Powered by Apache    MySQL    PHP    Gimp