martes, enero 23, 2007

Buscar y remplazar en bash con sed y con perl

Una de las muchas ventajas de los archivos de configuración en texto es que podemos hacer modificaciones en masa fácilmente. Por ejemplo si queremos sustituir el nombre de un dominio en un servidor o su ip ha cambiado, podemos usar un script haga en el cambio en todos los archivos de configuración.


#!/bin/bash

for i in `*.txt`; do
sed -i 's/find/replace/g' $i
done

Se puede realizar una versión de este archivo que recupere los parámetros de la línea de comando.

Algo rápido para cambiar el server de svn.

$ find . -iname entries | xargs perl -pi -e 's/oldhost/newhost/g'
.