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

How Remove Lines Containing Word

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



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



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

Сценарий: У меня огромный Хосты файл, содержащий тысячи строк. Я хочу удалить из файла записи сервера рекламы MSN. Другими словами, мне нужно удалить строки, содержащие строку « .msn.com ' в Хосты файл. Давайте воспользуемся 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 ++ щелкните Удалить неотмеченные строки удалить строки, содержащие слово блокнот ++

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

Метод 2: удалить строки с помощью метода поиска и замены с помощью RegEx

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

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

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

    . * . msn  .com. *
    . * - соответствует любому символу любое количество повторений.
    . - используется для экранирования точки (.) Итак, система понимает, что вы хотите сопоставить строку .msn.com
  5. Установите режим поиска на Регулярное выражение
  6. Убедитесь, что Заменить: текстовое поле остается пустым. удалить строки, не содержащие слова notepad ++ regex
  7. Нажмите Заменить все . Теперь Notepad ++ заменяет все совпадающие строки пустыми. В диалоговом окне 'Заменить' вы увидите количество замененных экземпляров. Затем вам нужно удалить эти пустые строки.
  8. Закройте диалоговое окно «Найти / заменить».
  9. Чтобы удалить пустые строки, нажмите редактировать → Линейные операции → Удалить пустые строки .

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

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

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

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

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

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

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


Одна небольшая просьба: если вам понравился этот пост, поделитесь им?

Одна «крошечная» публикация от вас серьезно поможет росту этого блога. Несколько отличных предложений:
  • Приколи это!
  • Поделитесь этим в своем любимом блоге + Facebook, Reddit
  • Твитнуть!
Так что большое спасибо за вашу поддержку, мой читатель. Это займет не более 10 секунд вашего времени. Кнопки «Поделиться» находятся прямо внизу. :)