Vida Tecno Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

¿Qué es SED en Linux y cómo se usa?

sed significa s tream ed itor y es un comando de uso común en Linux/Unix. El nombre proviene de un portmanteau de esas dos palabras. No es un editor de texto, aunque sí modifica el texto. En su lugar, sed recibe la entrada de texto como un «stream» y edita el stream de acuerdo con sus instrucciones.

En general, la gente usa sed como una versión de línea de comandos de find and replace. El comando principal del programa se utiliza para sustituir una cadena de caracteres por otra. Esto lo hace útil para ejecutar funciones de búsqueda y reemplazo en un lote de archivos, pero no es tan fácil de usar como algo de Notepad o Word. Verás que la sintaxis requiere un poco de tiempo para acostumbrarse, pero una vez que lo hayas bajado, verás lo increíblemente poderoso que puede ser este editor compacto.

Uso de sed para la sustitución

Para usar sed, tendrás que abrir una ventana Terminal. El comando se invoca con sed, pero escribir eso solo no hará nada. Necesita proporcionar uno de los comandos, así como algunos parámetros.

El parámetro más común es sustituto, o s.Un simple comando de sustitución de sedimentos tiene un aspecto parecido al siguiente:

sed ‘s/cat/dog/’

Ese comando ordenará a Sed que escanee el texto entrante y reemplace cada instancia de la cadena «cat» por «dog». Para demostrarlo, usaremos el comando de eco para darle algo con lo que trabajar.

echo catapulta | sed s/cat/dog/

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

¿Qué es SED en Linux y cómo se usa?


Hay tres partes principales en el comando sed. Primero, hay un ssed que inicia el programa. Luego está el swhich que inicia el comando de sustitución. La barra oblicua / es un separador. La cadena después de eso será la cadena que busca el sedante. La cadena después de la segunda barra serán los caracteres de reemplazo que sed escribe en la secuencia. La última barra cierra el comando. En conjunto, es ‘s/text-to-find/text-to-replace/’.

Note las comillas simples en ese ejemplo. Las comillas simples le permiten utilizar caracteres meta en su comando. Aunque las comillas no son esenciales para la mayoría de nuestros ejemplos, debería desarrollar el hábito de usar comillas para todos los comandos.

¿Qué hay de las cuerdas parciales? El comando anterior funcionará en cualquier apariencia de la cadena «cat», incluso si es parte de otra palabra. Por ejemplo, «catapulta» se convertirá en «dogapulta» como «catamarán» se convertirá en «dogamarán».

echo catapulta | sed ‘s/cat/dog/’>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

¿Qué es SED en Linux y cómo se usa?


Reemplazo global

En nuestro primer ejemplo, es posible que haya notado que sólo se reemplazó la primera instancia de la cadena coincidente. Como muchas utilidades de GNU, sed está basado en líneas. Como resultado, sólo funciona en el primer partido dentro de una línea. Si tiene varias coincidencias para su cadena de candidatos en la línea, sólo se cambiará la primera. Para hacer que sed funcione en cada ocurrencia de la cadena de destino, utilice la bandera g al final del comando:

sed ‘s/cat/dog/g’

Esto funcionaría como en el siguiente ejemplo:

echo catapultar catamarán | sed ‘s/cat/dog/g’>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

¿Qué es SED en Linux y cómo se usa?


Sin la bandera global, sólo se reemplazaría la primera instancia de «cat» en cada línea.

Configuración de archivos de entrada y salida

Por defecto, sed operará en la entrada estándar. Sin embargo, eso no es muy útil. Para ejecutar sed en un archivo, especifique el nombre del archivo al final del comando, así:

newfile.txt.

¿Qué es SED en Linux y cómo se usa?


Esto ejecutará sed en «oldfile.txt» y guardará la salida del comando en «newfile.txt». Si «newfile.txt» no existe, será creado por el comando. Si no especifica un archivo de salida, sed se hará eco del nuevo texto del archivo en la entrada estándar.

Si desea sobrescribir el contenido de un archivo, deberá utilizar el indicador-iflag. Esta bandera hace que las ediciones estén «en su lugar».

sed -i s/cat/dog oldfile.txt

Este comando sobrescribe inmediatamente el contenido del archivo de destino, lo que es ligeramente peligroso. Para estar seguro, puede crear una copia de seguridad in situ.

Para crear una copia de seguridad del archivo, coloque una extensión después de la -i. No necesita ser una extensión funcional: «.bu» o».bak» funcionan bien. Esto creará un archivo de copia de seguridad con una extensión.

sed -i.bak s/cat/dog oldfile.txt

Esto crea «oldfile.txt.bak», que contiene los datos de texto sin editar de la versión original de «oldfile.txt».

Coincidir con expresiones regulares

El verdadero poder de la sed se deriva de la combinación de expresiones regulares. Esto le permite establecer patrones de concordancia, en lugar de cadenas literales. Por ejemplo, podríamos usar algo como la siguiente cadena para repetir cualquier conjunto de uno o más números:

echo «123 abc» | sed ‘s/[0-9][0-9]&/&/’

¿Qué es SED en Linux y cómo se usa?


Aprendizaje adicional

sed es una utilidad extremadamente poderosa con una profundidad de poder similar a la de un lenguaje de scripting. Para obtener más información sobre las capacidades completas de sed, consulte La guía completa de sed de Bruce Barnett .

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

¿Qué es GREP en Linux y cómo se usa?

Grep es un pequeño programa de Unix para encontrar patrones coincidentes. Iniciado como un programa Unix, se puede encontrar tanto en Linux como en Mac y BSD. Puede leer casi cualquier texto, lo que significa que puede leer las entradas de otros comandos, o puede abrir y revisar los archivos directamente. Grep es increíblemente útil, especialmente para mirar a través de directorios desde la línea ...

Linux

Entendiendo las tuberías y la redirección para la línea de comandos de Linux

Dos potentes características del shell de la línea de comandos de Linux son la redirección y las tuberías que permiten que la salida (o incluso la entrada) de un programa se envíe a un archivo o a otro programa. Es posible que ya haya utilizado estas funciones sin ser consciente de ello. Siempre que se ha utilizado el signo «>» en un comando o «|» entonces se ha utilizado la ...

Linux

¿Qué es Nohup y cómo se usa?

Hay muchos comandos disponibles en los sistemas Linux. Hay algunos que usted usará varias veces al día, y hay otros que generalmente se reservan para casos de uso especial. Nohup es una de esas órdenes. No lo usarás todos los días, pero estarás agradecido de que esté a tu alrededor cuando lo necesites. ¿Qué es Nohup? Nohup es la abreviatura de «No Hangups». No es una orden que se ejecuta ...

Linux

Cómo borrar realmente la pantalla del terminal en Linux

Normalmente utilizamos el comando clear o pulsamos «Ctrl + L» para borrar la pantalla del terminal en Linux. Aunque funciona, en realidad la pantalla no está despejada – sólo la salida anterior se desplaza hacia arriba fuera del área visible. ¿Pero qué pasa si el requisito es realmente limpiar la pantalla del terminal? En este artículo discutiremos el comando reset que lo hace posi ...

Linux

Por qué y cómo editar su archivo Sudoers en Linux

Dentro de su sistema Linux o macOS, hay un archivo llamado «sudoers» que controla los niveles más profundos de su sistema de permisos. Permite o niega a los usuarios el acceso a los superusuarios y tiene algunas preferencias especiales para sudo. ¿Qué es el archivo Sudoers? El archivo sudoers es un archivo de texto que vive en «/etc/sudoers». Controla cómo funciona sudo en su m ...

Linux

Cómo administrar usuarios desde la línea de comandos en Linux

Una de las responsabilidades centrales de la administración de Linux es la gestión de usuarios. Mediante el uso de la línea de comandos, la creación de usuarios puede realizarse de forma remota o programática. Una vez que haya creado un usuario, podrá agregarlo a los grupos o concederle privilegios ampliados. Además, usted puede mantener un registro de auditoría de lo que se ha hecho en su servido ...

Linux

Entendiendo el Linux df y du Commands

Aunque es posible obtener información sobre el uso del disco desde los distintos escritorios Linux, aquellos que se sienten cómodos con la línea de comandos pueden obtener muchos más detalles usando los comandos df y du. Con estos dos comandos, no sólo puede descubrir detalles sobre el espacio libre en los sistemas de ficheros montados, sino que también puede ver la cantidad de espacio utilizado p ...

Linux

Olvídese de los clientes de correo, envíe correo electrónico desde la línea de comandos[Linux].

Enviar un correo electrónico es algo que a menudo no tienes que pensar dos veces. Simplemente encienda su cliente de correo electrónico, ya sea basado en la web o en el escritorio, escriba un mensaje, introduzca la dirección de correo electrónico del destinatario y haga clic en «Enviar». ¿Qué sucede si es necesario que envíe correo electrónico desde la línea de comandos, por ejemplo, par ...

Linux

Hoja de trucos de los atajos de teclado de Vim

Este artículo forma parte de la serie Guía del usuario de VIM : La guía para principiantes para empezar a usar Vim Hoja de referencia de los atajos de teclado Vim 5 Vim Tips and Tricks for Experienced Users 3 Consejos y trucos útiles del editor VIM para usuarios avanzados El editor Vim es una herramienta basada en la línea de comandos que es una versión mejorada del venerable editor vi. A pesa ...

Linux

Cómo obtener notificaciones de escritorio desde la línea de comandos de Linux

¿No sería genial si pudieras obtener notificaciones emergentes cuando terminan esas largas tareas que se ejecutan desde la línea de comandos? Bueno, tú puedes. En realidad, crear notificaciones de escritorio desde la línea de comandos es muy sencillo con el comando notify-send. Puede usar notify-send en sus scripts o establecer que se ejecute siguiendo un comando largo que acaba de escribir en la ...