Cómo buscar y reemplazar usando grep
Necesito buscar recursivamente una cadena especificada dentro de todos los archivos y subdirectorios dentro de un directorio y reemplazar esta cadena con otra cadena.
Sé que el comando para encontrarlo podría verse así:
grep 'string_to_find' -r ./*
Pero, ¿cómo puedo reemplazar cada instancia de string_to_find
con otra cadena?
Aceptado
Otra opción es usar buscar y luego pasarlo por sed.
find /path/to/files -type f -exec sed -i 's/oldstring/new string/g' {} \;
Recibí la respuesta.
grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g'