mamedu :: sed
mamedu.gif

Programación y linux

sed

02 de Diciembre, 2009

sed es un editor de lineas que funciona como un filtro: cat | sed | tail

todas las salidas van a stdout

Ejemplos para el uso de sed

sed -n 1p archivo # Devuelve la primera linea y (-n) sin el texto original
sed -n 4,6p archivo # Devuelve de las lineas 4 a la 6
sed -n '4,$p' archivo # Devuelve de la linea 4 al final *
sed -n /^E/ archivo # Devuelve todas las lineas que empiezan con "E" (grep)
sed -n '/^E/,$p' archivo # desde la 1ª linea que empieza con "E" al final
sed 's/antes/después/g' archivo # Sustituye todos los "antes" por "despues"
sed 's/antes/después/' archivo # = pero solo el primero de cada linea
sed '1,3s/antes/después/g' archivo # = pero solo en las 3 primeras lineas
sed '/patrón/s/antes/después/g' archivo # = pero solo en lineas con ese patrón
sed '/p1/,/p2/s/antes/después/g' archivo # = pero con patrón p1 en linea previa
sed 'y/[123]/[456]/' archivo # Sustituye los "1" por "4", los "2" por "5"...
 
Las '' son necesarias para que el shell no sustituya $p como una variable

Editando un archivo:

cp archivo archivo.old sed -e 'comandos' -e 'mas-comandos' archivo.old >archivo

Comandos útiles

comentar una linea:

sed -e 's/patrón-a-dejar-comentado/#&/'      # & = texto coincidente con el patrón

borrar una linea:

sed -e '/patrón/ d'

añadir al final (tras la última linea):

sed -e '$ a\
primera linea añadida\
segunda linea añadida'

insertar _ANTES_ de la última linea:

-e '$ i\
primera linea añadida\
segunda linea añadida'

añadir tras una cierta linea (si no existe esa linea no hace nada):

-e '/patrón-de-la-linea/ a\
linea añadida'

ATENCION: Los patrones de dirección /patrón/ no admiten agrupamiento con ()

Elimina una fila:

sed $numeroPelicula\d $listaPeliculas > $listaPeliculas\.tmp

modificar las cabeceras de archivos html de un directorio:

sed -i -e "s/charset=iso-8859-1/charset=utf-8/g" *html
Últimas entradas en Edición de texto
Añadir errores de doxygen

09 de June, 2010

/ Apuntes / Edición de texto / vim

Cuando ejecutamos doxygen en nuestros proyectos ademas de generar la documentación nos creara un archivo con todos los avisos y errores que haya encontrado. Esta lista puede ser pasada a vim...
reStructuredText

20 de Enero, 2010

/ Apuntes / Edición de texto

Crear documentación de forma sencilla. Creamos documentos de texto, y le añadimos etiquetas sencillas que sirven como marcas para que trabaje rst. ====================Ttulo del docum...
Vim Anyadir a quickfix la salida de grep

27 de Noviembre, 2009

/ Apuntes / Edición de texto / vim

Para buscar una palabra en el fichero actual :grep <palabra a buscar> % :copen Para buscar en ficheros concretos :grep -R <palabra a buscar> find gcm/lib/int -name '*.php'...
phpcodesniffer.vim

31 de Octubre, 2009

/ Apuntes / Edición de texto / vim

Plugin para vim para utilizar la salida de PhpCodeSniffer en la ventana de errores " php_check_codesniffer.vim -- Check php syntax when saving or reading a file" @Author: Eduardo Magrané , bas...
sed

25 de Enero, 2009

/ Apuntes / Edición de texto

sed es un editor de lineas que funciona como un filtro: cat | sed | tail todas las salidas van a stdout Ejemplos para el uso de sed sed -n 1p archivo # Devuelve la primera linea y (-n) si...
vim

25 de Enero, 2009

/ Apuntes / Edición de texto

Ayuda rápida para las varias cosas que nos ayudan a programar más ágilmente pero que no son fáciles de recordar Autocompletado Funciones: Control-x Control-ó...
aspell

30 de Abril, 2008

/ Apuntes / Edición de texto

aspell -d catalan -c <archivo> aspell -H (para archivos en formato html)...
Administrar

Nombre:

Contraseña: