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