Как удалить строки, содержащие слово или строку в текстовом файле

Если у вас есть сотни строк в текстовом файле и вы хотите массово удалить строки, содержащие слово или строку, эта статья для вас.

Давайте воспользуемся отличным сторонним текстовым редактором Notepad ++ (бесплатно) для удаления строк, содержащих слово, в текстовом файле разными способами.

Удалить строки, содержащие слово, фразу или строку в текстовом файле

Сценарий: У меня огромный HOSTS файл, содержащий в себе тысячи строк. Я хочу удалить из файла записи рекламного сервера MSN. Другими словами, мне нужно удалить строки, содержащие строку «.msn.com» в HOSTS файл. Давайте использовать Notepad ++ для этой работы.

Связанный: Как заменить Блокнот Notepad ++ или любым другим текстовым редактором?

Заметка: Как всегда, обязательно создайте резервную копию текстового файла перед его изменением.

Способ 1: удаление строк с помощью функции закладки в Notepad ++

  1. Откройте текстовый файл с помощью Notepad ++
  2. Нажмите Ctrl + F, чтобы открыть диалоговое окно «Найти и заменить».
  3. Нажмите, чтобы выбрать отметка Вкладка.
  4. Введите искомое слово или фразу в текстовом поле «Найти что». В этом примере я буду печатать .msn.com
  5. Включить Строка закладки флажок.
  6. Поставил Режим поиска к нормальному.
    удалить строки, содержащие слово или строку в текстовом файле
  7. щелчок Пометить все.Это отмечает (закладки) все строки, содержащие строку .msn.com, как видно ниже:
    удалить строки, содержащие слово или строку в текстовом файле
  8. Закройте диалог поиска, нажав Закрыть
  9. В меню «Поиск» выберите «Закладка» и нажмите Удалить отмеченные строки.
    удалить строки, содержащие слово или строку в текстовом файле

Это удаляет все строки, которые содержат строку поиска / слово / фразу в текстовом файле.

Как удалить строки, которые не содержат слово или строку?

Чтобы сделать обратное — например, удалить строки, которые не содержат слова или фразы:

  1. Повторите шаги 1 → 8 выше.
  2. На шаге 9 в меню поиска в Notepad ++ щелкните Удалить неотмеченные строкиудалить строки, содержащие слово notepad ++

Это удаляет все строки, кроме тех, которые содержат искомое слово или строку.

Метод 2: Удалить строки, используя метод Find и Replace с RegEx

Этот метод использует регулярные выражения для поиска и замены строк, содержащих слово или фразу. Этот метод очень эффективен, так как вы можете сопоставить практически что угодно (например, слова «начинающиеся с» или строки, имеющие определенный «шаблон»).

  1. Откройте текстовый файл с помощью Notepad ++.
  2. Нажмите Ctrl + F, чтобы открыть диалоговое окно «Найти и заменить».
  3. Нажмите на замещать вкладка, чтобы выбрать его.
  4. в Найти то, что: текстовое поле, введите искомое слово, перед и после .*например, если вы хотите заменить строки, содержащие слово books, вы наберете .*books.*

    Принимая во внимание, что это немного отличается в нашем случае где у нас есть два (специальные) . (точка) символы в нашей строке поиска .msn.com, Таким образом, нам нужно ввести следующее в Найти то, что: текстовое окно:

    .*\.msn\.com.*

    .* — соответствует любому символу любое количество повторений.
    \. — используется для выхода из точки (.) Итак, система понимает, что вы ищете совпадение со строкой .msn.com

  5. Установите режим поиска на Регулярное выражение
  6. Убедитесь, что Заменить: текстовое поле оставлено пустым.удалить строки, содержащие слово или строку в текстовом файле с помощью регулярных выражений
  7. щелчок Заменить все.Теперь Notepad ++ заменяет все совпадающие строки на пустые. В диалоговом окне «Заменить» вы увидите количество замененных вхождений. Далее вам нужно удалить эти пустые строки.
  8. Закройте диалог поиска / замены.
  9. Чтобы удалить пустые строки, нажмите редактировать → Линейные операции → Удалить пустые строки.удалить строки, содержащие слово или строку в текстовом файле

Это удаляет все строки, кроме тех, которые содержат искомое слово или строку.

Как удалить строки, которые не содержат слово или строку, используя Regex?

Чтобы сделать противоположное вышесказанному, т.е. удалить строки, которые не содержат слова или фразы, с помощью Regex:

  1. Выполните шаги с 1 по 3 выше.
  2. На шаге 4 используйте ключевое слово поиска regex ^(?!.*\.msn\.com).*$удалить строки, не содержащие слова notepad ++ regex

    Приведенный выше оператор поиска находит строки, которые не содержат слово или строку .msn.com и заменяет их пустыми строками.

  3. Затем выполните шаги с 5 по 9, чтобы удалить пустые строки.

Это оно! Надеюсь, что вышеуказанные методы оказались полезными для быстрого удаления строк, содержащих (или не содержащих) определенную строку, слово или фразу в текстовом файле.

Ссылка на основную публикацию
Adblock
detector