reemplazar la cadena de texto en el archivo [Guide]

Editar archivos de texto en Linux a mano puede resultar tedioso. Por eso es bueno saber cómo reemplazar cadenas de texto en archivos usando la línea de comando rápidamente. Si es nuevo en Linux y no sabe cómo hacerlo, ¡podemos ayudarlo! ¡Siga mientras le mostramos cómo reemplazar una cadena de texto en un archivo en Linux!

Linux: reemplace la cadena de texto

Reemplazar cadena de texto en archivo – sed

La herramienta sed es la mejor manera de reemplazar una cadena de texto en un archivo en Linux. ¿La razón? Es fácil de usar y hace muy bien su trabajo. Sed generalmente está preinstalado en el 99% de los sistemas operativos Linux, por lo que no es necesario instalarlo para usarlo.

Reemplazar una cadena de texto en un archivo con Sed se realiza con el comando sed -i. He aquí cómo usarlo. Primero, abra una ventana de terminal en el escritorio de Linux. Puede abrir una ventana de terminal presionando Ctrl + Alt + T en el teclado.

Una vez que la ventana de la terminal esté abierta y lista para usar, escriba sed -i en el indicador de la terminal. Este es el comienzo del comando de reemplazo.

sed -i

Después de escribir el comando sed -i, agregue una ‘comilla’. Esta comilla es esencial, ya que todo el texto que se reemplaza con sed -i debe comenzar después de esta marca.

sed -i '

Después de la primera marca, escriba s /. El s / va directamente antes del texto existente que desea reemplazar usando sed.

sed -i 's/

Ahora que el s / está escrito en la línea de comandos de la terminal, es hora de decirle a sed qué texto reemplazar en el archivo. En este ejemplo, reemplazaremos la palabra «manzana».

sed -i 's/apple

Cuando el texto que queremos reemplazar está escrito en el comando, el siguiente paso es escribir el nuevo texto que lo reemplazará. En este ejemplo, reemplazaremos «manzanas» por «naranjas».

sed -i 's/apples/oranges

Una vez que el texto que queremos reemplazar esté escrito en el comando (naranjas), cierre el comando con g /. El g / le dice a sed que reemplace todas las instancias de texto (manzanas) con el nuevo texto (naranjas). Debería verse como el siguiente ejemplo.

Nota: si no desea reemplazar cada texto en el archivo (manzanas a naranjas, por ejemplo), elimine la g y haga que se ejecute como sed -i ‘s / manzanas / naranjas /’ en su lugar.

sed -i 's/apple/orange/g'

Finalmente, dígale a sed en qué archivo está el texto que necesita ser reemplazado. En este ejemplo, el destino es fruit.txt en el directorio de inicio.

sed -i 's/apples/oranges/g' ~/fruit.txt

Presione la tecla Intro para ejecutar el comando y reemplazar su cadena de texto en el archivo.

Reemplazar cadena de texto en archivo – Perl

Otra forma de reemplazar una cadena de texto en un archivo en Linux es con el lenguaje de programación Perl. Perl se usa mucho para el procesamiento de texto, por lo que, naturalmente, puede intercambiar cadenas de texto en archivos y es perfecto para este caso de uso.

Para comenzar, asegúrese de tener Perl instalado en su PC con Linux. La mayoría de los sistemas operativos Linux vienen con Perl instalado. Sin embargo, si no lo tiene, consulte la página de ayuda de su sistema operativo para obtener información sobre cómo hacerlo funcionar.

El uso de Perl para reemplazar cadenas de texto en un archivo requiere el terminal. Abra una terminal en el escritorio de Linux presionando Ctrl + Alt + T en el teclado. O busque «Terminal» en el menú de la aplicación y ejecútelo de esa manera.

Una vez que la ventana de la terminal esté abierta y lista para usar, comience escribiendo perl -pe en la línea de comandos. El comando perl -pe es lo que se necesita para reemplazar una cadena de texto en un archivo.

perl -pe

Al escribir perl -pe en el indicador de la terminal, deberá comenzar con la primera ‘comilla’. Esta marca le dice a Perl dónde está el área de reemplazo de texto en el comando.

perl -pe '

Después de la primera comilla, agregue s /, seguido de la cadena de texto que desea reemplazar, y otro /. Por ejemplo, para reemplazar «manzanas» en el archivo fruit.txt, escribiría el siguiente texto.

perl -pe 's/apples/

Después de escribir la (s) palabra (s) que desea reemplazar, agregue la palabra que reemplazará el texto existente. Por ejemplo, si desea reemplazar «manzanas» en «fruit.txt» con «naranjas», agregue «naranjas» después de perl -pe ‘s / manzanas / para que se vea como perl -pe’ s / manzanas / naranjas / .

perl -pe 's/apples/oranges/

Una vez que ambas cadenas de texto estén en el comando, deberá especificar el archivo de entrada que utiliza Perl. Por ejemplo, si desea reemplazar texto en el archivo “fruit.txt”, deberá especificarlo en el comando.

Nota: en este ejemplo, el archivo “fruit.txt” está en el directorio de inicio (~ /). Asegúrese de reemplazar “~ / fruit.txt” con la ubicación de su archivo de texto para que funcione el comando.

perl -pe 's/apples/oranges/' ~/fruit.txt

Ahora que el archivo de entrada (el archivo que está modificando con Perl) se agrega al comando, el comando debería verse como se muestra a continuación.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Cuando se ejecuta el comando anterior, la cadena de texto se reemplazará con el nuevo texto que especificó. En nuestro ejemplo, reemplazamos «manzanas» por «naranjas». Para ver los cambios, ingrese el comando a continuación.

cat fruit.txt