Sublime - удалить все строки, содержащие определенное значение

У меня есть файл журнала 900mb, который я могу открыть в SublimeText 3. Этот файл раздувается строками, похожими на следующие.

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

Как я могу отфильтровать все строки, содержащие No records to send and/or not connected

Ответ 1

Вы можете выполнять поиск и замену регулярного выражения:

Нажмите "Найти" > "Заменить".

Убедитесь, что нажата кнопка "Регулярное выражение".

В поле "Найти" поставьте:

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

Оставьте поле "Заменить" пустым.

Нажмите "Заменить все"

Ответ 2

Для людей, которые не хотят писать регулярное выражение, вы можете просто выбрать строку поиска, нажать ctrl+cmd+g или выбрать "Быстрый поиск всех" в меню, в котором вы получите выбор для каждой соответствующей строки; оттуда Home переместит каждый указатель выбора в начало строки, shift+End выберет каждую соответствующую строку, а del, del удалит все из них.

Редактирование нескольких курсоров - это весело!

Ответ 3

Я не мог заставить регулярное выражение работать, поэтому я использовал подход Alt-F3 из этого ответа:

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

  • Выберите интересующую строку
  • Нажмите Alt + F3, чтобы перейти в режим нескольких курсоров во всех вхождениях (Ctrl + CMD + G в Mac OS X)
  • Хит Ctrl + L [см. комментарии] (CMD + L на Mac)
  • Выбор копии в другой буфер
  • Del

Ответ 4

Ни один из предложенного выше кода регулярного выражения не работал, но это работало:

.*(text in question).*

Ответ 5

Это то, что я нашел для пользователей Windows:

  • Выберите строку (каждая строка, содержащая эту строку, должна быть удалена).
  • Нажмите ALT + F3.
  • Нажмите Ctrl + L.
  • Нажмите "Удалить".

Ответ 6

У меня возникла аналогичная проблема с редактированием файла Sitemap

Это сработало для меня:

  • Скопировать последнее слово в строках, которые вы хотите удалить.
  • Найти все
  • Нажмите delete для удаления всей строки