GNU/Linux >> Tutoriales Linux >  >> Linux

Los 20 mejores comandos sed para usar

Hola amigos. El comando sed es un comando usado en exceso por los administradores de sistemas de todo el mundo. Básicamente se utiliza para reemplazar texto por texto en un archivo de texto con un solo comando. Por eso, hoy te vamos a presentar los 20 mejores comandos sed. Para ello, veremos los más útiles y comunes.

Los 20 mejores comandos sed para usar

Reemplazar una cadena con otra cadena

El comando sed se usa para reemplazar cadenas. Pero es tan flexible que podemos personalizar la ejecución para adaptarla a nuestras necesidades.

En un archivo de texto para cambiar la cadena macOS a Linux tendríamos que correr

sed 's/macOS/Linux/' [file]

Luego, puedes adaptar el comando por las cadenas que quieras.

2.- Reemplazar un cierto número de ocurrencias de una cadena

El comando anterior reemplaza la cadena solo una vez. Puede especificar el orden en que se reemplaza la cadena.

sed 's/macOS/Linux/2' [file]

En este caso, reemplazará solo la segunda ocurrencia.

3.- Reemplazar todas las apariciones de una cadena

sed 's/macOS/Linux/g' [file]

4.- Reemplazar una cadena en un número de línea específico.

Otra opción útil es reemplazar una cadena de caracteres en un número de línea. Esto es útil si conoce bien el archivo.

sed '[line] s/macOS/Linux/' [file]

Por ejemplo, para reemplazar una cadena en la tercera línea.

sed '3 s/macOS/Linux/' [file]

5.- Reemplazo de caracteres dentro de un rango

Para reemplazar caracteres pero dentro de un rango específico de líneas en un archivo.

sed '30,40 s/macOS/Linux/g' [file]

En este caso, la cadena se reemplazará solo entre las líneas 30 y 40.

6.- Insertar saltos de línea en archivos

También es posible insertar un salto de línea en blanco. Para lograr esto, tienes que ejecutar.

sed G [file]

Muy útil en archivos donde todo está muy cerca.

7.- Eliminar líneas de un archivo

Aunque el comando sed se usa para reemplazar cadenas, en realidad puede hacer muchas cosas con él. Una de ellas es eliminar una línea. Para hacer esto corre.

sed 'nd' [file]

Reemplazar n con el número de la línea a borrar.

8.- Mostrar todo el archivo excepto un cierto rango de líneas.

También puede mostrar un archivo menos un rango de líneas.

sed '20,35d' [file]

En este caso, se mostrará todo el archivo excepto desde la línea 20 a la 35.

9.-Ver un rango específico de líneas en un documento

Si desea mostrar un rango específico dentro del archivo, debe ejecutar el siguiente comando:

sed -n 'Ni,Nlp' [file]

Donde tienes que reemplazar Ni con el número de línea de salida y Nl con el final.

sed -n '5,15p' [file]

En este caso, mostrará el rango de las líneas 5 a 15.

10.- Eliminar líneas coincidentes en un archivo de texto

También puede eliminar líneas que coincidan con una cadena de texto específica.

sed '/macOS/d' [file]

En este caso, todas las líneas con la palabra macOS será eliminado.

11.- Imprime el número de línea en el archivo

Para imprimir el número de línea en un archivo de texto con el comando sed . Para lograr esto, solo debemos ejecutar el siguiente comando.

sed '=' [file]

De esta manera, cuando se imprima el archivo, se mostrará el número de línea.

12.- Eliminar todas las líneas de un archivo excepto las especificadas.

Ahora puede eliminar todas las líneas de un archivo excepto las que especifique.

sed '15,21!d' [file]

De esta forma el archivo borrará todas las líneas excepto las de la 15 a la 21.

13.- Reemplazar todos los caracteres en mayúsculas por minúsculas usando sed

El caso de mayúsculas y minúsculas siempre es relevante cuando se trata de archivos de texto. Entonces con sed puede reemplazar todos los caracteres en mayúsculas por caracteres en minúsculas.

sed 's/\(.*\)/\L\1/' [file]

14.- Eliminar cualquier línea que comience con una cadena

Si desea eliminar todas las líneas que comienzan con una cadena específica, puede ejecutar algo similar a esto

sed '/^macOS/d' [file] 

15.- Reemplaza todas las ocurrencias de una cadena desde una línea hasta el final

En este caso, puede reemplazar una cadena con otra desde una determinada línea hasta el final de la cadena

sed '3,$s/macOS/Linux/g' [file]

En este caso he elegido la línea 3, pero puede ser cualquier línea.

16.- Imprimir una serie de líneas desde un archivo

Si desea imprimir solo una serie de líneas, también puede hacerlo con sed de la siguiente manera

sed -n '2,10p' [file]

En este ejemplo, se imprimirán todas las líneas de la 2 a la 10.

Eliminar líneas en blanco después de cada línea en un archivo

Eliminar líneas en blanco puede ser muy útil en archivos de configuración u otros archivos donde necesitemos procesarlo.

Para borrar estas líneas en blanco puedes ejecutar

sed '/^$/d'[file]

Es tan simple como eso.

Escriba en mayúscula el primer carácter de cada palabra

Esta es una de las opciones más útiles y más utilizadas. Puedes reemplazar la primera letra de cada palabra por su equivalente en mayúsculas.

Para lograr esto, simplemente ejecute este comando

sed 's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g'

Es sin esfuerzo.

Eliminar la última línea de un archivo

Hay cambios que necesitamos hacer en un archivo de configuración, y normalmente lo colocamos en la última línea. ¿Y si queremos borrarlo? Bueno, puede eliminar la última línea de un archivo ejecutando

sed '$d' [file]

20.- Mostrar la ayuda del comando sed

Finalmente, puede consultar la ayuda para ejecutar el comando

sed --help

Y obtendrá una pantalla de salida como esta.

Gracias por leer y espero que les haya gustado y que les sea útil para su trabajo.

página de comando sed

Más comandos de terminal


Linux
  1. 5 razones para usar Linux en 2020

  2. ¿Cómo reemplazar una cadena en un archivo (s)?

  3. ¿Cómo usar Sed para reemplazar una cadena de varias líneas?

  4. ¿Cómo usar Sed o Ex para reemplazar un bloque (código de varias líneas) con un nuevo bloque de texto (código)?

  5. Reemplazo de SED en varias líneas

Cómo usar el comando SED para buscar y reemplazar cadenas en archivos

Cómo usar el comando SUPERIOR

CÓMO UTILIZAR EL EDITOR SED

Mis 10 comandos principales de Linux que uso todos los días (en 2021)

Los 30 mejores comandos de Linux

Cómo usar Sed para buscar y reemplazar una cadena en un archivo