Comando SED en Linux con 15 ejemplos prácticos

Comando SED en Linux con 15 ejemplos prácticos

El 'sed' El comando es una herramienta esencial para manipular el texto en Linux. Le permite buscar patrones en un texto y realizar varias operaciones en el texto coincidente, como reemplazarlo, eliminarlo o imprimirlo. Este comando toma la entrada de un archivo o entrada estándar.

El comando SED predeterminado no realiza cambios en el archivo original hasta que usó el -i Parámetro de línea de comando. El comando alerta el texto y envía el resultado a la salida estándar. También puede redirigir el texto al archivo según los requisitos.

En este artículo, proporcionaremos 15 ejemplos prácticos de uso del 'sed' Comandar para realizar varias tareas.

Reemplazar el ejemplo de cadenas usando SED

1. Reemplace la cadena en un archivo

Para reemplazar una cadena en un archivo, puede usar el 'S/Old_String/New_String/G' dominio. La sintaxis es:

# Syntax Sed 's/old_string/new_string/g' file_name
12# Syntaxsed 's/old_string/new_string/g' file_name

Para reemplazar las cadenas en un archivo utilizando el comando SED, use el -i argumento para hacer los cambios en el lugar. La cadena de comando debe incluir el comando sustituto 's', la cadena original y la cadena de reemplazo. Por ejemplo, para reemplazar todas las instancias de la cadena "Apple" con la cadena "Banana" en un archivo llamado Fruits.txt, use el siguiente comando:

Vea el siguiente ejemplo:

frutas de sed 's/manzana/plátano/g'.TXT  

Este comando lee el contenido de los "frutas.archivo "y reemplaza todas las ocurrencias de la palabra "manzana" con la palabra "banana" e imprime el texto resultante en la terminal. El gramo le dice al comando que reemplace todos los ocurrencias coincidentes a nivel mundial en el archivo.

También puede realizar los cambios en el mismo archivo con el -i opción.

frutas de Sed -i/Apple/Banana/G '.TXT  

Verá que el archivo original se modifica. También puede hacer una copia de seguridad del archivo antes de hacer cambios en el archivo original.

sed -i.frutas de Bak 'S/Apple/Banana/G'.TXT  

Se creará un archivo de copia de seguridad del original en el directorio actual con el nombre frutas.TXT.bak.

2. Reemplace la primera aparición de cada línea

Para sustituir solo la primera aparición de un patrón en cada línea, puede usar el s/patrón/reemplazo/comando. Por ejemplo, para reemplazar solo la primera ocurrencia de la palabra "manzana" con la palabra "plátano" en las frutas del archivo.txt, puede usar el siguiente comando:

Sed 's/manzana/plátano/' frutas.TXT  

3. Reemplace la última aparición de cada línea

Para sustituir solo la última aparición de un patrón en cada línea, puede usar el comando s/patrón/reemplazo/g '. Por ejemplo, para reemplazar solo la última aparición de la palabra "manzana" con la palabra "plátano" en las frutas del archivo.txt ', puede usar el siguiente comando:

sed 's/\ (.*\) Apple/\ 1Banana/G 'frutas.TXT  

4. Reemplace la cadena en un número de línea específico

Para reemplazar una cadena en una línea específica, puede usar los lineros/patrón/reemplazo/comando. Por ejemplo, para reemplazar la primera aparición de la palabra "manzana" con la palabra "plátano" en la línea 3 de las frutas de archivo.txt, puede usar el siguiente comando:

Sed '3S/Apple/Banana/' Frutas.TXT  

5. Reemplace la cadena desde el rango de números de línea

Para reemplazar una cadena en una variedad de líneas, puede usar StartLinEnumber, EndlinEnumber/Pattern/Reemplazo/Comando. Por ejemplo, para reemplazar la primera aparición de la palabra "manzana" con la palabra "plátano" en las líneas 3 a 5 de las frutas de archivo.txt, puede usar el siguiente comando:

Sed '3,5s/manzana/plátano/' frutas.TXT  

Eliminar líneas en el archivo usando SED

6. Eliminar la primera línea del archivo

Para eliminar una línea que contiene una determinada cadena, puede usar el comando /patrón /d. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:

frutas sed '1d'.TXT  

7. Eliminar la línea contiene cierta cadena

Para eliminar una línea que contiene una determinada cadena, puede usar el '/Patrón/D' dominio. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:

frutas sed '/manzana/d'.TXT  

8. Eliminar líneas excepto la cadena coincidente

Para invertir las líneas coincidentes, puede usar el '!' operador en combinación con otros comandos. Por ejemplo, para eliminar todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:

sed '/manzana/!D 'frutas.TXT  

9. Eliminar el rango de líneas

Para eliminar una variedad de líneas, puede usar el StartlinEnumber, Endlinenumbert dominio. Por ejemplo, para eliminar las líneas 3 a 5 del archivo frutas.TXT, Puede usar el siguiente comando:

frutas sed '3,5d'.TXT  

10. Eliminar líneas vacías del archivo

Puede eliminar las líneas vacías del archivo usando '/^$/d' opción.

frutas sed '/^$/d'.TXT  

Este comando considera una línea como vacía, que no contiene ningún carácter, incluso un solo espacio.

Impresión de líneas desde el archivo utilizando SED

11. Solo números de línea de impresión

Para imprimir solo los números de línea de líneas coincidentes, puede usar el '/Pattern/=' dominio. Por ejemplo, para imprimir los números de línea de todas las líneas que contienen la palabra "Apple" en las frutas del archivo.txt, puede usar el siguiente comando:

Sed '/Apple/=' frutas.TXT  

12. Imprimir el rango de archivo

Para imprimir una variedad de líneas, puede usar el 'Comienza, endp' comandos. Por ejemplo, para imprimir las primeras 10 líneas de las frutas del archivo.txt, puede usar el siguiente comando:

frutas sed -n '1,10p'.TXT  

Insertar líneas para archivar usando SED

13. Inserte una nueva línea después del patrón de coincidencia

Para insertar una línea después de un determinado patrón, puede usar el '/Pattern/A \ Newline' dominio. Por ejemplo, para insertar la línea "uvas" después de la línea que contiene la palabra "manzana" en las frutas del archivo.txt, puede usar el siguiente comando:

frutas de sed '/manzana/a \ uvas'.TXT  

14. Inserte una nueva línea antes del patrón de coincidencia

Para insertar una línea antes de cierto patrón, puede usar el '/Pattern/i \ Newline' dominio. Por ejemplo, para insertar la línea "uvas" antes de la línea que contiene la palabra "manzana" en las frutas del archivo.txt, puede usar el siguiente comando:

frutas sed '/manzana/i \ \ \ uvas.TXT  

Otras tareas usando SED

15. Cambiar caso de caracteres

Para cambiar el caso de una cadena, puede usar el 'y/viejo/nuevo/' dominio. Por ejemplo, para cambiar todas las letras minúsculas a mayúsculas en las frutas del archivo.txt, puede usar el siguiente comando:

SED 'Y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' FRUITOS.TXT  

Conclusión

Esperamos que estos ejemplos hayan sido útiles para mostrarle la versatilidad del comando SED. Recuerde que SED es una herramienta muy poderosa y es importante probar sus comandos cuidadosamente antes de usarlos en archivos importantes. Si tiene alguna pregunta o necesita más ayuda, no dude en preguntar. Con estos ejemplos prácticos en su haber, estará en camino de dominar el comando SED y convertirse en un administrador de Linux competente.