Buscar y reemplazar desde línea de comandos en linux

Si bien estoy muy contento con el editor para programadores Geany (es realmente una maravilla: liviano, completo, fiable, extensible), extraño la opción de Komodo Edit de buscar y reemplazar en todos archivos del proyecto. Para eso encontré en este blog, la siguiente solución en una sola línea de comando que traduzco:


find . -name "*.php" -print | xargs sed -i 's/foo/bar/g'

Donde:

find . name ".php" -print

Encuentra de forma recursiva todos los archivos con la extenión php y lospresenta en una lista de tipo:

./archivo.php
./otros/unomas.php
...

xargs
Este comando se usar para pasar un conjunto de argumentos a un comando (combina la salida de find y corre el comando para cada una.
sed -i 's/foo/bar/g' – SE es Stream Editor, una interesante herramienta que toma una entrada y aplica las tranformaciones explicitadas. Pueden encontrar información en este tutorial.

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