GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo reemplazar una cadena en varios archivos en la línea de comando de Linux

Similar a la respuesta de Kaspar pero con la bandera g para reemplazar todas las apariciones en una línea.

find ./ -type f -exec sed -i 's/old_string/new_string/g' {} \;

Para mayúsculas y minúsculas globales:

find ./ -type f -exec sed -i 's/old_string/new_string/gI' {} \;

cd /path/to/your/folder
sed -i 's/foo/bar/g' *

Las ocurrencias de "foo" serán reemplazadas por "bar".

En sistemas BSD como macOS, debe proporcionar una extensión de respaldo como -i '.bak' o bien "correr el riesgo de corrupción o contenido parcial" según la página de manual.

cd /path/to/your/folder
sed -i '.bak' 's/foo/bar/g' *

Linux
  1. Cómo cambiar el nombre de varios archivos a la vez en Linux

  2. Cómo reiniciar Linux usando la línea de comandos

  3. Cómo reemplazar todas las apariciones de una palabra en todos los archivos en la línea de comandos de Linux

  4. Convertir cadena a hexadecimal en la línea de comando

  5. ¿Cómo reemplazar un archivo en jar con línea de comando en Linux?

Cómo usar sed para buscar y reemplazar cadenas en archivos

¿Cómo usar el proxy en la línea de comandos de Linux?

Cómo iniciar en la línea de comandos de Linux

Cómo usar el comando SED para buscar y reemplazar cadenas en archivos

Cómo contar archivos en el directorio en Linux

Cómo encontrar la dirección IP en la línea de comandos de Linux