Reemplazar texto en un fichero

El viernes, trabajando en la distribución de Vidium, me encontré con un problemilla que no sabía como solucionar y que se va a quedar aquí para cuando se me olvide😉

Lo que tenía que hacer era que Apache no mostrara los ficheros de un directorio cuando no hay un fichero index.loquesea. Ésto se hace (en apache2) eliminando Indexes de las opciones en el fichero /etc/apache2/sites-available/default (a menos que tengas definidos hosts virtuales).

Ahora bien, para que la cosa se hiciera automáticamente desde la instalación de la distribución tenía que hacerlo con un comando o vía shell script, como soy muy vago, preferí invertir un ratejo en buscar algún comando que hiciera ésto porque me parecía algo bastante trivial que alguien tendría que haberse encontrado antes y así es. Podemos solucionarlo con el comando sed. Vamos a ver un par de ejemplos:

Si queremos reemplazar en el fichero “fichero”, la cadena “vieja” por “nueva” utilizaremos un comando como éste:

sed -i ‘s/vieja/nueva/g’ fichero

Yo en mi caso, lo que quería era eliminar la cadena “Indexes” así que utilicé algo como ésto:

sed -i ‘s/Indexes//g’ /etc/apache2/sites-available/default

Seguramente se podrá utilizar una expresión regular para borrar en vez de sustituir por una cadena vacía, pero ya os lo he dicho, soy un vago😛

El comando sed permite hacer un montón de cosas, así que si queréis echarle un vistazo más a fondo podéis mirar éstos links:
Sed – An Introduction and Tutorial
A small tutorial about sed

  1. sed es muy bueno, yo lo he utilizado para cambiar los repositorios de karmic a lucid de una forma rapida😉

    Saludos

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: