Come rimuovere le righe che contengono una parola o una stringa in un file di testo

Se hai centinaia di righe in un file di testo e desideri eliminare in blocco le righe che contengono una parola o una stringa, questo articolo fa per te.

Usiamo l'ottimo editor di testo di terze parti Notepad ++ (gratuito) per eliminare le righe che contengono una parola in un file di testo, usando metodi diversi.

Rimuovi le righe contenenti una parola, una frase o una stringa in un file di testo

Scenario: ho un enorme file HOSTS contenente migliaia di righe. Voglio rimuovere le voci del server di pubblicità MSN dal file. In altre parole, devo rimuovere le righe contenenti la stringa " .msn.com " nel file HOSTS . Usiamo Notepad ++ per il lavoro.

Correlati: Come sostituire Notepad con Notepad ++ o qualsiasi altro editor di testo?

$config[ads_text6] not foundNota: come sempre, assicurarsi di creare una copia di backup del file di testo prima di modificarlo.

Metodo 1: rimuovere le linee utilizzando la funzionalità Segnalibro in Notepad ++

  1. Aprire il file di testo utilizzando Notepad ++
  2. Premi Ctrl + F per aprire la finestra di dialogo Trova e sostituisci.
  3. Fare clic per selezionare la scheda Contrassegna .
  4. Digita la parola o frase di ricerca nella casella di testo "Trova cosa". In questo esempio, scriverei .msn.com
  5. Abilita la casella di controllo Riga segnalibri .
  6. Imposta la modalità di ricerca su Normale.

  7. Fai clic su Segna tutto . Questo contrassegna (segnalibri) tutte le linee contenenti la stringa .msn.com, come mostrato di seguito:

  8. Chiudi la finestra di dialogo Trova facendo clic su Chiudi
  9. Dal menu Cerca, fare clic su Segnalibro e fare clic su Rimuovi linee segnalibro .

Ciò rimuove tutte le righe che contengono la stringa / parola / frase di ricerca nel file di testo.

Come rimuovere le righe che NON contengono una parola o una stringa?

Per fare il contrario di quanto sopra, ovvero eliminare le righe che non contengono una parola o una frase:

  1. Ripetere i passaggi 1 → 8 sopra.
  2. Nel passaggio 9, dal menu Cerca in Notepad ++, fare clic su Rimuovi linee non contrassegnate

Ciò rimuove tutte le righe tranne quelle che contengono la parola o stringa di ricerca.

Metodo 2: eliminare le righe utilizzando il metodo Trova e sostituisci con RegEx

Questo metodo utilizza espressioni regolari per trovare e sostituire le righe contenenti una parola o una frase. Questo metodo è molto potente in quanto puoi abbinare quasi tutto (come le parole "che iniziano con" o le linee che hanno uno "schema" specifico).

  1. Aprire il file di testo utilizzando Notepad ++.
  2. Premi Ctrl + F per aprire la finestra di dialogo Trova e sostituisci.
  3. Fai clic sulla scheda Sostituisci per selezionarla.
  4. Nella casella di testo Trova: digitare la parola da cercare, preceduta e seguita da .* esempio, se si desidera sostituire le righe contenenti i word books, digitare .*books.*

    Considerando che, è leggermente diverso nel nostro caso in cui ne abbiamo due (speciali) . (punto) caratteri nella nostra stringa di ricerca .msn.com . Quindi dobbiamo digitare quanto segue nella casella di testo Trova :

     . * \. Msn \ .it. * 
    .* - corrisponde a qualsiasi carattere a qualsiasi numero di ripetizioni.

    \. - è usato per sfuggire al punto (.) Quindi, il sistema capisce che stai cercando di abbinare la stringa .msn.com

  5. Imposta la modalità di ricerca su Espressione regolare
  6. Assicurarsi che la casella di testo Sostituisci con: sia lasciata vuota.

  7. Fai clic su Sostituisci tutto . Ora Notepad ++ sostituisce tutte quelle righe corrispondenti con righe vuote. Nella finestra di dialogo Sostituisci, vedrai il numero di occorrenze sostituito. Successivamente, è necessario rimuovere quelle righe vuote.
  8. Chiudi la finestra Trova / Sostituisci.
  9. Per rimuovere le linee vuote, fare clic su Modifica → Operazioni linea → Rimuovi linee vuote .

Ciò rimuove tutte le righe tranne quelle che contengono la parola o stringa di ricerca.

Come rimuovere le righe che NON contengono una parola o una stringa usando Regex?

Per fare il contrario di quanto sopra - cioè eliminare le righe che non contengono una parola o una frase usando Regex:

  1. Seguire i passaggi da 1 a 3 sopra.
  2. Nel passaggio 4, utilizzare la parola chiave di ricerca regex ^(?!.*\.msn\.com).*$

    L'operatore di ricerca sopra trova le righe che non contengono la parola o la stringa .msn.com e le sostituisce con righe vuote.

  3. Quindi seguire i passaggi da 5 a 9 per rimuovere le righe vuote.

Questo è tutto! Spero che i metodi di cui sopra si siano rivelati utili per rimuovere rapidamente le righe contenenti (o non contenenti) una stringa, una parola o una frase specifica in un file di testo.

$config[ads_text6] not found

Articoli Correlati