Comment supprimer des lignes contenant un mot ou une chaîne dans un fichier texte

Si vous avez des centaines de lignes dans un fichier texte et que vous souhaitez supprimer en bloc les lignes contenant un mot ou une chaîne, cet article est pour vous.

Utilisons l'excellent éditeur de texte tiers Notepad ++ (gratuit) pour supprimer des lignes contenant un mot dans un fichier texte, en utilisant différentes méthodes.

Supprimer des lignes contenant un mot, une phrase ou une chaîne dans un fichier texte

Scénario: j'ai un énorme fichier HOSTS contenant des milliers de lignes. Je souhaite supprimer les entrées du serveur de publicité MSN du fichier. En d'autres termes, je dois supprimer les lignes contenant la chaîne " .msn.com " dans le fichier HOSTS . Utilisons Notepad ++ pour le travail.

Connexe: Comment remplacer le bloc-notes par Notepad ++ ou tout autre éditeur de texte?

Remarque: Comme toujours, assurez-vous de créer une copie de sauvegarde du fichier texte avant de le modifier.

Méthode 1: supprimer des lignes à l'aide de la fonctionnalité Signet dans Notepad ++

  1. Ouvrez le fichier texte à l'aide de Notepad ++
  2. Appuyez sur Ctrl + F pour ouvrir la boîte de dialogue Rechercher et remplacer.
  3. Cliquez pour sélectionner l'onglet Mark .
  4. Tapez le mot ou l'expression à rechercher dans la zone de texte «Rechercher quoi». Dans cet exemple, je .msn.com
  5. Cochez la case Ligne de signet .
  6. Réglez le mode de recherche sur Normal.

  7. Cliquez sur Marquer tout . Ceci marque (signets) toutes les lignes contenant la chaîne .msn.com, comme .msn.com ci-dessous:

  8. Fermez la boîte de dialogue Rechercher en cliquant sur Fermer
  9. Dans le menu Rechercher, cliquez sur Signet, puis sur Supprimer les lignes marquées d'un signet .

Cela supprime toutes les lignes qui contiennent la chaîne / mot / phrase de recherche dans le fichier texte.

Comment supprimer des lignes qui ne contiennent pas de mot ou de chaîne?

Pour faire l'opposé de ce qui précède, c'est-à-dire supprimer les lignes qui ne contiennent pas de mot ou de phrase:

  1. Répétez les étapes 1 → 8 ci-dessus.
  2. À l'étape 9, dans le menu Rechercher du Bloc-notes ++, cliquez sur Supprimer les lignes non marquées

Cela supprime toutes les lignes sauf celles qui contiennent le mot ou la chaîne de recherche.

Méthode 2: supprimer des lignes à l'aide de la méthode Rechercher et remplacer avec RegEx

Cette méthode utilise des expressions régulières pour rechercher et remplacer des lignes contenant un mot ou une phrase. Cette méthode est très puissante car vous pouvez faire correspondre presque n'importe quoi (comme les mots «commençant par» ou les lignes qui ont un «motif» spécifique).

  1. Ouvrez le fichier texte à l'aide de Notepad ++.
  2. Appuyez sur Ctrl + F pour ouvrir la boîte de dialogue Rechercher et remplacer.
  3. Cliquez sur l'onglet Remplacer pour le sélectionner.
  4. Dans la zone de texte Rechercher: saisissez le mot à rechercher, précédé et suivi de .* exemple, si vous souhaitez remplacer les lignes contenant les mots books, vous devez taper .*books.*

    Alors que c'est légèrement différent dans notre cas où nous en avons deux (spécial) . (point) dans notre chaîne de recherche .msn.com . Nous devons donc taper ce qui suit dans la zone de texte Rechercher :

     . * \. msn \ .com. * 
    .* - correspond à n'importe quel caractère et à n'importe quel nombre de répétitions.

    \. - est utilisé pour échapper au point (.) Ainsi, le système comprend que vous cherchez à faire correspondre la chaîne .msn.com

  5. Définissez le mode de recherche sur Expression régulière
  6. Assurez-vous que la zone de texte Remplacer par: est laissée vide.

    $config[ads_text6] not found
  7. Cliquez sur Remplacer tout . Maintenant, Notepad ++ remplace toutes ces lignes correspondantes par des lignes vides. Dans la boîte de dialogue Remplacer, vous verrez le nombre d'occurrences remplacées. Ensuite, vous devez supprimer ces lignes vides.
  8. Fermez la boîte de dialogue Rechercher / Remplacer.
  9. Pour supprimer les lignes vides, cliquez sur Edition → Opérations sur les lignes → Supprimer les lignes vides .

Cela supprime toutes les lignes sauf celles qui contiennent le mot ou la chaîne de recherche.

Comment supprimer des lignes qui ne contiennent pas de mot ou de chaîne à l'aide de Regex?

Pour faire l'opposé de ce qui précède, c'est-à-dire supprimer des lignes qui ne contiennent pas de mot ou de phrase à l'aide de Regex:

  1. Suivez les étapes 1 à 3 ci-dessus.
  2. À l'étape 4, utilisez le mot clé de recherche d'expression régulière ^(?!.*\.msn\.com).*$

    L'opérateur de recherche ci-dessus recherche les lignes qui ne contiennent pas le mot ou la chaîne .msn.com et les remplace par des lignes vides.

  3. Suivez ensuite les étapes 5 à 9 pour supprimer les lignes vides.

C'est tout! J'espère que les méthodes ci-dessus se sont avérées utiles pour supprimer rapidement les lignes contenant (ou ne contenant pas) une chaîne, un mot ou une expression spécifique dans un fichier texte.

Articles Connexes