web-dev-qa-db-fra.com

Sublime - supprime toutes les lignes contenant une valeur spécifique

J'ai un fichier journal de 900 Mo que je peux ouvrir dans SublimeText 3. Ce fichier est saturé de lignes similaires à celles-ci.

10/08/2014 23:45:31:828,Information,,,,ExportManager: ,No records to send and/or not connected

Comment puis-je filtrer toutes les lignes qui contiennent No records to send and/or not connected

88
energ1ser

Vous pouvez faire une expression régulière chercher-et-remplacer:

Cliquez sur Rechercher> Remplacer.

Assurez-vous que le bouton Expression régulière est enfoncé.

Pour le champ Rechercher, mettez: 

^.*No records to send and/or not connected.*\n

Laissez le champ Remplacer par vide.

Cliquez Remplacer tout

182
Jonathan Aquino

Pour les personnes qui ne veulent pas écrire d'expression régulière, vous pouvez simplement sélectionner la chaîne de recherche, appuyer sur ctrl+cmd+g ou choisir "Recherche rapide" dans le menu, ce qui vous permettra d'obtenir des sélections pour chaque chaîne correspondante; à partir de là, Home déplacera chaque curseur de sélection au début de la ligne, shift+End sélectionnera chaque ligne correspondante et del, del les supprimera toutes.

L'édition de curseur multiple est amusante!

50
Leonid Shevtsov

je ne pouvais pas obtenir le regex au travail alors j'ai utilisé l'approche Alt-F3 de cette réponse:

https://superuser.com/questions/452189/how-can-i-filter-a-file-for-lines-containing-a-string-in-sublime-text-2/598999#598999

  1. Sélectionnez chaîne d'intérêt
  2. Frappé Alt+F3 pour passer en mode multi-curseur à toutes les occurrences (Ctrl+CMD+G sur Mac OS X)
  3. Frappé Ctrl+L [voir les commentaires] (Cmd+L sur Mac)
  4. Copier-coller la sélection dans un autre tampon
  5. Del
44
denfromufa

Ni le code de regex suggéré ci-dessus n'a fonctionné dans mon cas, mais cela a fonctionné:

.*(text in question).*
19
Magnus

Voici ce que j'ai trouvé pour les utilisateurs de Windows:

  1. Sélectionnez la chaîne (chaque ligne contenant cette chaîne doit être supprimée).
  2. Appuyez sur ALT + F3.
  3. Appuyez sur Ctrl + L.
  4. Appuyez sur Supprimer.
16
Prashant Goel

Les réponses ci-dessus sont correctes, mais si vous souhaitez vous débarrasser des lignes avec une seule chaîne, faites, Rechercher -> Remplacer -> mettre ^.*[a-zA-Z]+.*\n Dans la section de recherche et conserver remplacer par vide. Appuyez sur le bouton Remplacer tout pour supprimer toutes les lignes contenant même une seule chaîne.

0
shubham mishra

J'ai rencontré un problème similaire lors de l'édition d'un sitemap

Cela a fonctionné pour moi:

  1. Copiez le dernier mot dans les lignes que vous souhaitez supprimer
  2. Trouver tout
  3. Appuyez sur Supprimer pour supprimer la ligne entière
0
Pete Varley