Como dijo Pablo, que desea encontrar primero los archivos que desea editar y luego editarlos. Una alternativa al uso hallazgo es utilizar grep de GNU (el valor por defecto en Ubuntu), por ejemplo:
grep -r -l from . | xargs -0 -n 1 sed -i -e 's/from/to/g'
También puede utilizar ACK-grep (sudo apt-get install ACK-grep o visite http://petdance.com/ack/), así, si usted sabe que solo quiere un cierto tipo de archivo y desea ignorar las cosas en los directorios de control de versiones. por ejemplo, si sólo desea que los archivos de texto,
ack -l --print0 --text from | xargs -0 -n 1 sed -i -e 's/from/to/g'
# `from` here is an arbitrary commonly occurring keyword
una alternativa al uso de sed es el uso de Perl que pueden procesar varios archivos al comando, por ejemplo,
grep -r -l from . | xargs perl -pi.bak -e 's/from/to/g'
Aquí, Perl se le dice a editar en colocar, haciendo un archivo .bak primero.
Puede combinar cualquiera de los lados izquierdos de la tubería con los lados derechos, según sus preferencias.
Acabo de dejar este enlace aquí: http://stackoverflow.com/questions/102083/whats-the-best-tool-to-find-and-replace-regular-expressions-over-multiple-files –