¿Cómo elimino las líneas de un archivo usando el comando SED?

¿Cómo elimino las líneas de un archivo usando el comando SED?
El comando SED se conoce como editor de transmisión. El comando SED se usa en Linux para hacer una transformación básica de texto.

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.

  • Eliminar líneas con expresiones regulares.
  • Basado en la posición de un archivo, elimine una línea específica.

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.