Tecnología

Inicio

Linux Buscar y reemplazar una cadena en un archivo

Linux Buscar y reemplazar una cadena en un archivo


Sustitución de palabras dentro de un archivo de texto se puede lograr de varias maneras dentro del sistema operativo Linux. El comando "sed" y los lenguajes de programación Perl son dos métodos que utilizan una sintaxis similar dentro de los comandos. Ambos métodos se utilizan desde la línea de comandos de Linux. Además, se puede especificar una cadena exacta o una expresión regular en uno u otro método. Una expresión regular es una forma de utilizar comodines (caracteres especiales) para la coincidencia de patrones.

Sed

Sed es un editor de flujo para los sistemas operativos UNIX y Linux. Se puede utilizar para manipular texto de diversas formas, incluyendo la búsqueda y la sustitución de las cadenas se encuentran dentro de los archivos de texto. El formato básico para realizar sustituciones de sed es:

sed -i "s / find_string / replace_string / g" nombre de archivo

La opción "-i" se encarga de editar el texto en línea. En otras palabras, el archivo se edita sin crear un segundo archivo. La sección "s / find_string / replace_string / g" dice a sustituir ( "s") del "replace_string" para el "find_string" a nivel mundial ( "g"). La última parte de la orden ( "filename") es el nombre del archivo que desea editar.

Si desea conservar una copia del archivo original, se puede omitir la opción "-i" y especificar un archivo de salida como:

sed "s / find_string / replace_string / g" nombre de archivo> salida

Si se omite la parte de "g" del comando, sed reemplazará sólo la primera aparición de la "find_string" y se detendrá.

Perl

Perl es un lenguaje de programación que se pueden utilizar desde la línea de comandos para manipular archivos de texto. Perl fue creado por Larry Wall manipular informes de texto ASCII de manera eficiente.

El método de Perl para buscar y reemplazar cadenas es similar al comando sed. El formato es el siguiente:

perl-pi -e 's / find_string / replace_string / g' nombre de archivo.

La opción de "p", dice para recorrer el código de búsqueda y reemplazo. Esto es necesario para la búsqueda y reemplazo para ser procesada correctamente. Al igual que con sed, la opción "-i" dice para procesar el archivo en línea. Si elimina esta opción, debe especificar un archivo de salida. Perl le permite especificar un archivo de copia de seguridad con la opción "-i" escribiendo la extensión de copia de seguridad después de la "i" (por ejemplo, "i.bak"). La opción "-e" dice para ejecutar el comando "s / buscar / reemplazar / g." Una vez más, la eliminación de la parte de "g" del comando se detendrá el proceso de reemplazar después de encontrar el primer caso de la cadena de búsqueda.