GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo eliminar todas las líneas comentadas o líneas con un patrón específico en vim?

Recientemente, estaba editando mucho texto en uno de mis servidores (para actividades de mantenimiento), donde necesito optimizar el tamaño de un archivo eliminando todo lo que tiene un patrón específico, a veces todas las líneas comentadas y, a veces, todas las líneas que no contienen un patrón específico.

Por ejemplo, uno de mis servidores tenía muchas cuentas de usuario deshabilitadas (líneas comentadas en el archivo /etc/passwd), donde necesito eliminar todas esas cuentas deshabilitadas (las comentadas) usando vim. Esto es lo que hice:

Nota: Tendrá que hacer esto en el modo de comando:ESC y:

Si desea eliminar todas las líneas comentadas de un archivo , luego deberá eliminar las líneas que comienzan con '#'.

:g/#/d

(o)

:g/^\#/d

Suponga que desea eliminar todas las líneas que coincidan o contengan un patrón específico – entonces el comando es similar al anterior. Por ejemplo:

:g/somepattern/d

Si desea eliminar todas las líneas que no contengan un patrón específico , digamos que dejemos todas las líneas comentadas y eliminemos el resto. Busque el símbolo '!' en el siguiente comando

:g!/#/d

El comando anterior eliminará todas las líneas que no comiencen con '#'. Alternativamente, puede usar el siguiente comando.

: v/#/d

En el comando anterior, usamos 'v' en lugar de 'g' y no se requiere '!'.


Linux
  1. Cómo eliminar todos los archivos de una carpeta excepto un archivo específico en Linux

  2. ¿Cómo combinar todas las líneas que terminan con un carácter de barra invertida?

  3. Cómo eliminar todas las líneas de un archivo en Vim

  4. Cómo eliminar archivos con una extensión específica en la línea de comandos de Linux

  5. ¿Cómo configurar archivos comprimidos con contraseña con comando en todos los sistemas operativos?

Cómo eliminar una línea en Vim en Linux

Cómo eliminar un directorio en Linux

Cómo eliminar líneas en Vim / Vi

Cómo eliminar archivos con extensión específica en Linux

Cómo quitar líneas de un archivo usando el comando Sed

¿Cómo puedo catear un archivo y eliminar las líneas comentadas?