Uno de los muchos comandos esenciales de Linux es también el comando SED que juega un papel vital en la manipulación de archivos. Se usa para muchos propósitos; Algunos de los principales son los siguientes.
Eliminar o eliminar esa línea en particular que coincida con los patrones dados.
Entonces, si está pensando en eliminar las líneas de un archivo utilizando el comando SED, lea nuestro artículo de principio a fin. Le daremos un resumen sobre los métodos para eliminar las líneas
¿Cómo elimino las líneas de un archivo usando el comando SED??
Usaremos el comando SED sin -i en este artículo porque es un artículo de demostración. Un método similar es la opción "Dry Run", que muestra todos los valores para el archivo sin hacer ningún cambio.
Usando el comando SED, podemos eliminar las líneas dependiendo del entorno utilizando -i.
Para mostrar el comando SED, creamos un archivo llamado Linuxhintos.TXT. Para proporcionar una mejor información, incluimos estos números de línea en el siguiente contenido.
Eliminar líneas de un archivo basado en la posición
Esta parte explicará el uso del comando SED para eliminar las líneas de un archivo 'Linuxhintos.txt 'basado en su posición.
Primero, abra el archivo usando el siguiente comando:
gato ~//
Ahora ejecute el siguiente comando para eliminar la primera línea:
archivo sed 'nd'
En el comando anterior:
norte- Línea "nth" en un archivo
D- eliminación del archivo
Entonces, ejecutemos este comando en nuestro ejemplo para eliminar la décima línea del archivo de texto:
documentos de CD
sed '10d' Linuxhintos.TXT
Eliminar la última línea de un archivo
Si tenemos que eliminar la última línea del archivo, en lugar de 'n' en la sintaxis utilizada anteriormente, usaremos '$.'Aquí, $ representa la última línea.
archivo sed '$ d'
Después de esto, nuestro archivo cambiará a algo como esto.
Retire la primera línea y la última línea junta
Si queremos eliminar la primera y las últimas líneas, debemos combinar los dos comandos anteriores.
sed 'nd; $ d' nombre de archivo
Con este comando, tanto nuestra primera como las últimas líneas se eliminan del archivo simultáneamente.
Como puede ver en la imagen de arriba, la primera y última línea se ha eliminado del archivo de texto.
Eliminar una variedad de líneas
El comando SED puede eliminar las líneas de cualquier rango. Para esto, solo tenemos que ingresar números de línea 'mínimo' y 'máximo'.
En este ejemplo, eliminaremos las líneas que van de 4 a 7 números.
SED '4,7D' Archivo
Después de eliminar estos rangos de líneas, nuestro archivo se verá así.
Eliminar múltiples líneas
SED también puede eliminar múltiples líneas en un conjunto. Como puede ver, eliminamos el tercero, sexto, octavo y último líneas en este ejemplo.
sed '3d; 6d; 8d; $ D'
Al aplicar el comando SED escrito anteriormente, los siguientes cambios ocurren en nuestro archivo 'Linuxhintos.TXT'.
Eliminar líneas distintas de la línea especificada o el rango de líneas especificado
A través del comando SED, eliminamos esas líneas de los archivos que no están definidos en el comando, yo.mi., Las líneas distintas de las que se describen se eliminan.
De este archivo, eliminaremos las líneas restantes aparte de los números 4 a 7.
Sed '4,7! D 'Archivo
Por aquí, el signo de "!"Representa que no debemos eliminar la línea de este número específico del archivo.
! - Se utiliza para mantener el número específico de líneas del archivo
Después de esto, nuestro archivo se verá así:
Retire las líneas en blanco o vacías
El comando SED escrito a continuación elimina las líneas en blanco o vacío del archivo apropiado.
sed '/^$/d' Archivo
Dado que no hay líneas en blanco o vacías en nuestro archivo, no se han producido cambios:
Eliminar líneas del archivo según el patrón
En la segunda parte, veremos que con la ayuda del comando SED, cómo eliminamos las líneas de un patrón similar.
Eliminar líneas que contienen un patrón
En el ejemplo, el siguiente comando elimina las líneas que coinciden con el patrón "Sistema" del archivo 'Linuxhintos.TXT'.
archivo sed '/system/d'
Por lo tanto, necesitamos eliminar esas líneas que "no tienen disponibles". Por eso ejecutaremos el siguiente comando:
sed '/no disponible/d' linuxhintos.TXT
Eliminar líneas que contienen una o varias cuerdas
A través del comando SED, podemos eliminar las líneas que coinciden con el patrón "no actualizado" o "no disponible" del archivo 'Linuxhintos.txt 'y ese comando es algo como esto:
sed '/no actualizado \ | no disponible/d' linuxhintos.TXT
Eliminar líneas que comienzan con un carácter específico
Podemos eliminar todas las líneas que comienzan con cualquier carácter a través del comando SED. Hemos creado un nuevo archivo llamado 'Linuxhintos.txt 'con los siguientes contenidos:
El siguiente comando SED eliminará todas las líneas que comienzan con el carácter 'A'.
archivo sed '/^a/d'
Eliminaremos tales líneas de nuestro archivo, que comienzan con 'A' y 'L'. Para el cual usaremos el siguiente comando.
Sed '/^[Al]/D' Archivo
Usando SED, eliminamos todas las líneas que comienzan con "A" y terminamos con la cadena "Linux".
sed '/^(a).*(Linux)/D 'Archivo
Eliminar líneas que terminan con un carácter especificado
Este comando SED elimina todas las líneas que terminan con "M."
archivo sed '/m $/d'
El siguiente comando SED eliminará las líneas que terminan con caracteres 'M' y 'X'.
sed '/[xm] $/d' Archivo
Las líneas de caracteres que terminan con 'M' y 'X' se eliminan de nuestro archivo; Entonces, nuestro archivo se verá así.
Eliminar todas las líneas que comienzan con mayúsculas
Eliminaremos todas esas líneas del archivo utilizando el siguiente comando: una letra mayúscula.
Sed '/^[A-Z]/D' Archivo
Después de aplicar el comando anterior, se eliminarán todas las líneas de nuestro archivo que comenzaron con letras mayúsculas, y el cambio en nuestro archivo será así.
Eliminar una línea de patrón de coincidencia con un rango especificado
Con la ayuda del siguiente comando, eliminaremos solo esas líneas de algunas líneas definidas con un patrón específico.
Este ejemplo solo elimina las líneas con patrones de Linux del archivo entre 1 a 6 líneas.
Sed '1,6 /linux/d; archivo
Después de aplicar el comando, nuestro archivo 'sed - demo -1.txt 'se verá algo así.
Eliminaremos la segunda fila con el siguiente comando SED solo si contiene el patrón "OpenSuse".
Sed '2 /openSuse/d;'
El comando apropiado eliminará la segunda línea de nuestro archivo 'SED - Demo -1.txt 'ya que tiene un patrón específico de "OpenSuse."
El comando apropiado eliminará la segunda línea de nuestro archivo 'SED - Demo -1.txt 'ya que tiene un patrón específico de "OpenSuse."
También podemos eliminar la línea que coincide con el patrón 'Sistema' y la siguiente línea en el archivo utilizando el comando SED.
Sed '/System/n; d;' archivo
Eliminar las líneas que tienen patrones específicos
Puede eliminar todas las líneas siguiendo el patrón "CentOS" usando el comando SED.
Sed '/Centos/, $ D' Archivo
Eliminar líneas que contienen números/dígitos
Con el comando SED escrito a continuación, podemos eliminar todas las líneas que contienen 'dígitos.'
sed '/[0-9]/d' Archivo
Al hacer algunos cambios en el comando SED, eliminaremos todas esas líneas del archivo que comienzan con solo dígitos.
Sed '/^[0-9]/D' Archivo
Después de este comando, todas las líneas que comienzan con dígitos se eliminarán de nuestro archivo.
Nuevamente, al hacer algunos cambios en el comando, eliminaremos solo aquellas líneas del archivo que termina con un dígito.
Sed '/[0-9] $/d' Archivo
Eliminar líneas que contienen caracteres alfabéticos de un archivo
Con el comando SED, eliminaremos todas las líneas del archivo 'Linuxhintos.txt ', que contiene cualquier caracteres alfabéticos.
sed '/[a-lza-z]/d'
Conclusión
Este artículo muestra varios ejemplos de eliminación de líneas de un archivo utilizando el comando SED. Vemos cómo con la ayuda del comando SED, podemos eliminar fácilmente cualquier línea de los archivos. Si recordamos estos comandos, entonces ahorramos mucho tiempo mientras reducimos.