GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere tutte le righe commentate o le righe con uno schema specifico in vim?

Di recente stavo eseguendo molte modifiche al testo su uno dei miei server (per attività di manutenzione), dove ho bisogno di ottimizzare le dimensioni di un file rimuovendo tutto ciò che ha uno schema specifico, a volte tutte le righe commentate e talvolta tutte le righe che non contengono uno schema specifico.

Ad esempio, uno dei miei server aveva molti account utente disabilitati (righe commentate nel file /etc/passwd) – dove devo rimuovere tutti quegli account disabilitati (quelli commentati) usando vim. Ecco cosa ho fatto:

Nota: Dovrai farlo in modalità comando:ESC e :

Se desideri rimuovere tutte le righe commentate da un file , quindi dovrai rimuovere le righe che iniziano con '#'.

:g/#/d

(o)

:g/^\#/d

Supponi di voler rimuovere tutte le righe che corrispondono/contengono un pattern specifico – allora il comando è simile a quello sopra. Ad esempio:

:g/somepattern/d

Se desideri rimuovere tutte le righe che non contengono uno schema specifico , diciamo di lasciare tutte le righe commentate ed eliminare il resto. Cerca il simbolo '!' nel comando sottostante

:g!/#/d

Il comando precedente eliminerà tutte le righe che non iniziano con '#'. In alternativa, puoi utilizzare il comando seguente.

: v/#/d

Nel comando precedente, utilizziamo 'v' invece di 'g' e non è richiesto '!'.


Linux
  1. Come eliminare tutte le righe di un file in Vim

  2. Come impostare i file zip delle password con il comando in tutti i sistemi operativi?

  3. Come aggiungere un comando nell'editor vim?

  4. Come rimuovere tutti i file che iniziano con una determinata stringa in Linux

  5. Come posso creare un file con una dimensione specifica da una riga di comando?

Come eliminare la riga in Vim su Linux

Come rimuovere una directory in Linux

Come eliminare le righe in Vim / Vi

Come rimuovere file con estensione specifica in Linux

Come rimuovere le righe da un file usando il comando Sed

Come posso cat un file e rimuovere le righe commentate?