У меня есть длинный документ команд. Используя Notepad ++ или regex, я хочу удалить все строки, содержащие «help», включая keyboard_help и т. Д.
Как это может быть сделано?
Это также возможно с Notepad ++:
Проверьте строку «Закладка» (если вкладка « Отметка » не обновлена до текущей версии).
Введите условие поиска и нажмите « Отметить все»
Теперь перейдите в меню Поиск → Закладка → Удалить отмеченные строки
Выполнено.
cd
в путь и ввести сложную команду (беспокоиться о синтаксисе и об окончательном сбое, а затем реализовать нет резервной копии). [ Не поймите меня неправильно, я все время использую консольные команды для других вещей, но для чего-то подобного это просто излишество.]BOOKMARK LINE
здесь важна, иначе она не сработает!Еще один способ сделать это в Notepad ++ - это все в диалоге Find / Replace и с помощью regex:
Ctrl+, hчтобы вызвать диалог поиска замены.
В
Find what:
текстовое поле включите ваше регулярное выражение:.*help.*\r?\n
(где\r
необязательно в случае, если файл не имеет окончания строки Windows).Оставьте
Replace with:
текстовое поле пустым.Убедитесь, что установлен переключатель «Регулярное выражение» в области «Режим поиска». Тогда нажмите
Replace All
и вуаля! Все строки, содержащие ваш поисковый запросhelp
, были удалены.источник
Простая задача с
grep
:Добавить,
> newFileName
чтобы перенаправить вывод в новый файл.Обновить
Чтобы прояснить это, нормальное поведение будет печатать линии на экране. Чтобы передать его в файл,
>
можно использовать. Таким образом, в этой команде:grep
вызываетgrep
программу, очевидно-v
флаг для инвертирования вывода По умолчанию,grep
печатает линии, которые соответствуют заданному шаблону. С этим флагом он будет печатать линии, которые не соответствуют шаблону.help
шаблон для сопоставленияfilename
имя входного файла>
перенаправляет вывод на следующий элементnewFileName
новый файл, в котором будет сохранен вывод.Как вы могли заметить, вы не будете удалять вещи в своем файле.
grep
прочитает его, и другой файл будет сохранен, соответственно изменен.источник
grep
установили. В любом случае, я бы порекомендовал вам установить GNU grep, он, безусловно, будет работать на Windows, и это действительно полезный инструмент.>
в данном случае), давая окончательную командуgrep -v help filename > outputFileName
Вы можете сделать это используя sed:
sed '/help/ d' < inputFile > outputFile
источник
sed '/^help/ d'
должно работать.^
Представляет собой начало строки.sed
иgrep
Поиск по регулярному выражению:
источник
\n\n
, заменить на `` (ничего)Если вы на Windows , попробуйте
findstr
. Сторонние инструменты не нужны:Он также поддерживает регулярные выражения! Просто прочитайте справку инструмента
findstr /?
.PS Если вы хотите работать с большими, огромными файлами (например, файлами журналов размером 400 МБ), текстовый редактор не очень экономит память, поэтому, как кто-то уже отметил, инструменты командной строки - это то, что нужно. Но в Windows нет grep, так что ...
Я только что запустил это на 1 ГБ лог-файл, и это буквально заняло 3 секунды.
источник