linux

Remplazar texto en Linux usando sed

Hoy vamos a ver una pequeña introducción a sed en Linux. Veremos cómo remplazar texto de un archivo y enviarlo a otro archivo, enviarlo en la terminal, modificar el archivo original o recibir el texto de una tubería (mejor dicho, de la entrada estándar).

Para ello usaremos sed (stream editor) y la terminal.

Modo de uso de sed para sustituir texto

La forma básica de sustituir es:

sed s/Búsqueda/Remplazo/ nombre_archivo

Eso leerá el archivo y remplazará la primera ocurrencia de Búsqueda con Remplazo; mostrando el resultado en la terminal o, mejor dicho, en la salida estándar.

Si quieres que el remplazo sea global, pasa la opción g:

sed s/Búsqueda/Remplazo/g nombre_archivo

Recuerda que igualmente puedes omitir el nombre del archivo si vas a pasar el texto usando un pipe.

Remplazando texto con sed

Veamos el primer ejemplo. Tengo un documento de texto con lo siguiente:

Hola,tengo,comas,y,voy,a,remplazarlas,con,guiones,usando,sed

Voy a remplazar las comas por un guión, para ello ejecuto:

Sustitución de texto con sed en Linux

De este modo el texto ya modificado se imprime en la terminal.

Redirigiendo salida

Si quieres que el texto ya remplazado aparezca en otro archivo, es muy fácil; simplemente dirige la salida al mismo, usando >.

Por ejemplo, si quiero que el texto arreglado de ejercicio1.txt se vaya a ejercicio1_corregido.txt haría lo siguiente:

Remplazar texto usando sed y redireccionar salida a otro archivo

Modificar archivo directamente (inline)

Veamos otra opción. Si tú quieres que sed modifique el archivo, es decir, que el texto de salida sea escrito en el archivo de entrada, pasa la opción -i. Veamos el siguiente ejemplo:

Opción -i en sed sobre Linux

Comenzamos mostrando el contenido del archivo. Después hacemos la sustitución pero pasamos la opción -i a sed, que indica que modifique el archivo original.

Eso hará que el texto sea remplazado y que sea guardado en el archivo original. Al mostrarlo de nuevo, vemos que se ha remplazado correctamente.

Usando pipes

Este editor es un editor de streams; su nombre lo indica. Por lo tanto podemos usar las tuberías o pipes para pasarle contenido. Un ejemplo sencillo es el siguiente…

Para ver el tiempo que lleva encendido el sistema operativo podemos usar uptime. Eso mostrará algo como:

11:34:18 up 4 days, 14:47, 1 user, load average: 1.67, 1.57, 1.66

Ahora quiero remplazar “days” por “días” así que puedo hacerlo enviando la salida de uptime por una tubería hacia sed, y remplazarlo:

Linux y sed: pasar datos por pipes

El comando fue: uptime | sed s/days/días/ y no utilicé la opción global puesto que solo quise remplazar la primer ocurrencia.

Obviamente podría redireccionar la salida a un archivo; enviársela a sed de nuevo, etcétera. Ventajas y bellezas de Linux.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.