50 Ejemplos de Comandos Sed

50 Ejemplos de Comandos Sed

En programación, el uso de 'sed' (stream editor) es fundamental para el manejo y edición de archivos de texto en sistemas Unix y Linux. 'sed' trabaja leyendo archivos de entrada, editándolos y mostrando la salida en la consola o en un archivo de salida. Su uso principal es para la modificación, eliminación y sustitución de texto en archivos de texto plano. Este artículo presentará 50 ejemplos de comandos 'sed' para que cualquier programador Linux pueda agregar a su base de conocimiento y mejorar su trabajo diario.

📋 Aquí podrás encontrar✍
  1. Comandos Sed
    1. 1. Imprimir la primera línea de un archivo:
    2. 2. Imprimir la última línea de un archivo:
    3. 3. Imprimir un rango de líneas:
    4. 4. Imprimir todas las líneas excepto la primera:
    5. 5. Imprimir todas las líneas excepto la última:
    6. 6. Eliminar todas las líneas vacías:
    7. 7. Eliminar todas las líneas que contengan una cadena de texto específica:
    8. 8. Eliminar todas las líneas que NO contengan una cadena de texto específica:
    9. 9. Sustituir la primera ocurrencia de una cadena de texto por otra:
    10. 10. Sustituir todas las ocurrencias de una cadena de texto por otra:
    11. 11. Sustituir la cuarta ocurrencia de una cadena de texto por otra:
    12. 12. Sustituir una cadena de texto en un rango de líneas:
    13. 13. Eliminar espacios en blanco al inicio de una línea:
    14. 14. Eliminar espacios en blanco al final de una línea:
    15. 15. Eliminar todos los espacios en blanco de una línea:
    16. 16. Cambiar todo el archivo a mayúsculas:
    17. 17. Cambiar todo el archivo a minúsculas:
    18. 18. Unir dos líneas de texto:
    19. 19. Agregar un número de línea al inicio de cada línea:
    20. 20. Contar el número de líneas en un archivo:
    21. 21. Verificar si una línea contiene un número:
    22. 22. Imprimir un archivo en orden inverso:
    23. 23. Reemplazar varias cadenas de texto a la vez:
    24. 24. Imprimir solamente las líneas impares:
    25. 25. Imprimir solamente las líneas pares:
    26. 26. Eliminar todas las líneas que contienen números:
    27. 27. Sustituir un texto y eliminar la siguiente línea:
    28. 28. Numerar solamente las líneas que contienen una cadena de texto específica:
    29. 29. Eliminar líneas en blanco al final del archivo:
    30. 30. Eliminar todas las líneas que comienzan con un carácter específico:
    31. 31. Sustituir cada tercera ocurrencia de una cadena de texto específica:
    32. 32. Imprimir las líneas que se encuentran entre dos cadenas de texto:
    33. 33. Eliminar todas las líneas que comienzan y terminan con un carácter específico:
    34. 34. Guardar la salida en un archivo:
    35. 35. Agregar un carácter específico al inicio de cada línea:
    36. 36. Agregar un carácter específico al final de cada línea:
    37. 37. Sustituir una cadena de texto A por una cadena de texto B solo si aparece una cadena de texto C antes:
    38. 38. Eliminar la última letra de cada línea:
    39. 39. Eliminar la primera letra de cada línea:
    40. 40. Agregar una línea adicional debajo de cada línea que contenga una cadena de texto específica:
    41. 41. Agregar una línea adicional encima de cada línea que contenga una cadena de texto específica:
    42. 42. Imprimir un archivo de texto con muchos números en formato CSV:
    43. 43. Imprimir el número de palabras en cada línea:
    44. 44. Separar cada palabra y agregar un prefijo:

Comandos Sed

1. Imprimir la primera línea de un archivo:

`sed -n '1p' archivo`

Este comando imprime la primera línea del archivo indicado.

2. Imprimir la última línea de un archivo:

`sed -n '$p' archivo`

Este comando imprime la última línea del archivo indicado.

3. Imprimir un rango de líneas:

`sed -n '2,4p' archivo`

Este comando imprime las líneas 2 a 4 del archivo indicado.

4. Imprimir todas las líneas excepto la primera:

`sed '1d' archivo`

Este comando imprime todas las líneas del archivo excepto la primera.

5. Imprimir todas las líneas excepto la última:

`sed '$d' archivo`

Este comando imprime todas las líneas del archivo excepto la última.

6. Eliminar todas las líneas vacías:

`sed '/^$/d' archivo`

Este comando elimina todas las líneas vacías del archivo.

7. Eliminar todas las líneas que contengan una cadena de texto específica:

`sed '/cadena de texto/d' archivo`

Este comando elimina todas las líneas que contengan una cadena de texto específica.

8. Eliminar todas las líneas que NO contengan una cadena de texto específica:

`sed '/cadena de texto/!d' archivo`

Este comando elimina todas las líneas que NO contengan una cadena de texto específica.

9. Sustituir la primera ocurrencia de una cadena de texto por otra:

`sed 's/cadena de texto a sustituir/nueva cadena de texto/' archivo`

Este comando sustituye la primera ocurrencia de una cadena de texto por otra.

10. Sustituir todas las ocurrencias de una cadena de texto por otra:

`sed 's/cadena de texto a sustituir/nueva cadena de texto/g' archivo`

Este comando sustituye todas las ocurrencias de una cadena de texto por otra.

11. Sustituir la cuarta ocurrencia de una cadena de texto por otra:

`sed 's/cadena de texto a sustituir/nueva cadena de texto/4' archivo`

Este comando sustituye la cuarta ocurrencia de una cadena de texto por otra.

12. Sustituir una cadena de texto en un rango de líneas:

`sed '2,4s/cadena de texto a sustituir/nueva cadena de texto/' archivo`

Este comando sustituye una cadena de texto en las líneas de 2 a 4 por otra.

13. Eliminar espacios en blanco al inicio de una línea:

`sed 's/^[ t]*//' archivo`

Este comando elimina todos los espacios en blanco al inicio de una línea.

14. Eliminar espacios en blanco al final de una línea:

`sed 's/[ t]*$//' archivo`

Este comando elimina todos los espacios en blanco al final de una línea.

15. Eliminar todos los espacios en blanco de una línea:

`sed 's/[ t]*//g' archivo`

Este comando elimina todos los espacios en blanco presentes en una línea.

16. Cambiar todo el archivo a mayúsculas:

`sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' archivo`

Este comando convierte todo el archivo a mayúsculas.

17. Cambiar todo el archivo a minúsculas:

`sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' archivo`

Este comando convierte todo el archivo a minúsculas.

18. Unir dos líneas de texto:

`sed 'N;s/n/ /' archivo`

Este comando une dos líneas de texto en una sola.

19. Agregar un número de línea al inicio de cada línea:

`sed '=' archivo | sed 'N;s/n/ /'`

Este comando agrega un número de línea al inicio de cada línea.

20. Contar el número de líneas en un archivo:

`sed -n '$=' archivo`

Este comando imprime el número de líneas en un archivo.

21. Verificar si una línea contiene un número:

`sed -n '/[0-9]/p' archivo`

Este comando verifica si una línea contiene un número e imprime solamente esa línea.

22. Imprimir un archivo en orden inverso:

`sed -n '1!G;h;$p' archivo`

Este comando imprime un archivo en orden inverso.

23. Reemplazar varias cadenas de texto a la vez:

`sed -e 's/primera cadena de texto/nueva cadena de texto/' -e 's/segunda cadena de texto/otra cadena de texto/' archivo`

Este comando reemplaza varias cadenas de texto a la vez en un archivo.

24. Imprimir solamente las líneas impares:

`sed -n 'p;n' archivo`

Este comando imprime solamente las líneas impares.

25. Imprimir solamente las líneas pares:

`sed -n 'n;p' archivo`

Este comando imprime solamente las líneas pares.

26. Eliminar todas las líneas que contienen números:

`sed '/[0-9]/d' archivo`

Este comando elimina todas las líneas que contienen números.

27. Sustituir un texto y eliminar la siguiente línea:

`sed '/cadena de texto/{n;s/segunda cadena de texto/d/;}' archivo`

Este comando sustituye una cadena de texto y elimina la siguiente línea.

28. Numerar solamente las líneas que contienen una cadena de texto específica:

`sed '/cadena de texto/=' archivo | sed 'N;s/n/ /'`

Este comando numerará solamente las líneas que contienen una cadena de texto específica.

29. Eliminar líneas en blanco al final del archivo:

`sed -e :a -e '/^n*$/{$d;N;};/n$/ba' archivo`

Este comando elimina las líneas en blanco al final del archivo.

30. Eliminar todas las líneas que comienzan con un carácter específico:

`sed '/^carácter/d' archivo`

Este comando elimina todas las líneas que comienzan con un carácter específico.

31. Sustituir cada tercera ocurrencia de una cadena de texto específica:

`sed ':a;N;$!ba;s/cadena de texto/nueva cadena de texto/3' archivo`

Este comando sustituirá cada tercera ocurrencia de una cadena de texto específica.

32. Imprimir las líneas que se encuentran entre dos cadenas de texto:

`sed -n '/cadena de texto 1/,/cadena de texto 2/p' archivo`

Este comando imprimirá las líneas que se encuentran entre dos cadenas de texto específicas.

33. Eliminar todas las líneas que comienzan y terminan con un carácter específico:

`sed '/^carácter.*carácter$/d' archivo`

Este comando eliminará todas las líneas que comiencen y terminen con un carácter específico.

34. Guardar la salida en un archivo:

`sed -n '2,4p' archivo1 > archivo2`

Este comando guarda la salida en un archivo específico.

35. Agregar un carácter específico al inicio de cada línea:

`sed 's/^/carácter de inicio/' archivo`

Este comando agregará un carácter específico al inicio de cada línea.

36. Agregar un carácter específico al final de cada línea:

`sed 's/$/carácter de final/' archivo`

Este comando agregará un carácter específico al final de cada línea.

37. Sustituir una cadena de texto A por una cadena de texto B solo si aparece una cadena de texto C antes:

`sed -e '/cadena de texto C/{n;s/cadena de texto A/cadena de texto B/;}' archivo`

Este comando sustituirá una cadena de texto A por una cadena de texto B solo si aparece una cadena de texto C antes.

38. Eliminar la última letra de cada línea:

`sed 's/.$//' archivo`

Este comando eliminará la última letra de cada línea.

39. Eliminar la primera letra de cada línea:

`sed 's/^.//' archivo`

Este comando eliminará la primera letra de cada línea.

40. Agregar una línea adicional debajo de cada línea que contenga una cadena de texto específica:

`sed '/cadena de texto/a línea adicional de texto' archivo`

Este comando agregará una línea adicional debajo de cada línea que contenga una cadena de texto específica.

41. Agregar una línea adicional encima de cada línea que contenga una cadena de texto específica:

`sed '/cadena de texto/i línea adicional de texto' archivo`

Este comando agregará una línea adicional encima de cada línea que contenga una cadena de texto específica.

42. Imprimir un archivo de texto con muchos números en formato CSV:

`sed 's/ +/,/g' archivo`

Este comando imprimirá un archivo de texto con muchos números en formato CSV.

43. Imprimir el número de palabras en cada línea:

`sed 's/$/ /' archivo | tr -d 'n'|sed 's/ /n/g'|sed '/^$/d'|wc -l`

Este comando imprimirá el número de palabras en cada línea de un archivo.

44. Separar cada palabra y agregar un prefijo:

`sed 's/[^ ][^ ]*/prefijo &/g' archivo`

Este comando agregará un prefijo a cada palabra en una línea y las separará.

45. Eliminar todos los números en un archivo de texto:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza Cookies propias y de terceros de análisis para recopilar información con la finalidad de mejorar nuestros servicios, así como para el análisis de su navegación. Si continua navegando, se acepta el uso y si no lo desea puede configurar el navegador. CÓMO CONFIGURAR