Программа поиска и замены Regex - PullRequest
3 голосов
/ 09 октября 2008

Существует ли простая и легкая программа для поиска по текстовому файлу и замены строки на регулярное выражение?

Ответы [ 10 ]

6 голосов
/ 09 октября 2008

Для поиска: grep - просто и быстро. В комплекте с Linux здесь - версия для Windows, не уверен насчет Mac.

Для замены: sed . Здесь - версия для Windows, не уверенная в Mac.

Конечно, если вы действительно хотите открыть файл и просмотреть его содержимое во время поиска и замены, вы можете использовать для этого emacs . Или КОНТЕКСТ . Или VIM . Или что у тебя. ;)

См. Также этот вопрос .

3 голосов
/ 09 октября 2008

Perl превосходен в этом, с его ключами -i, -n, -p и -e. См. Слайды из моего доклада Полевое руководство по командной строке Perl для примеров.

Другие упоминали sed и awk, и неудивительно, что Perl был ими вдохновлен. Тем не менее, Perl может быть проще получить и установить для вас и / или ваших пользователей.

2 голосов
/ 09 октября 2008

Существует также sed , который является полезным инструментом для изучения основ - отлично подходит для выполнения быстрых замен на основе регулярных выражений.

Быстрый пример, чтобы изменить "foo" на "bar" в input.txt ...

sed -e 's/foo/bar/g' input.txt > output.txt
1 голос
/ 09 октября 2008

Это зависит от того, имеете ли вы дело с одним или несколькими файлами. С риском для того, чтобы меня позорили, я предполагаю, что вы используете Windows, потому что вы не указали платформу.

Для одного файла за раз, Notepad2 делает свое дело и очень быстрый, легкий и портативный.

Для поиска / замены по нескольким файлам одновременно попробуйте Agent Ransack .

1 голос
/ 09 октября 2008

Вы не упомянули, какую платформу вы используете ... Если вас интересует относительно простой инструмент с графическим интерфейсом, есть regexxer . В противном случае инструменты командной строки, такие как sed, которые упоминались ранее, могут быть очень полезны.

1 голос
/ 09 октября 2008

сед или awk. Я рекомендую книгу sed & awk для освоения предмета или буклет sed & awk pocket reference для быстрого ознакомления. Конечно, овладение регулярными выражениями является обязательным ...

1 голос
/ 09 октября 2008

У многих приличных текстовых редакторов также есть опция vim, emacs, EditPlus и т. Д.

0 голосов
/ 10 марта 2018

Попробуйте WildGem: http://www.skytopia.com/software/wildgem

Я создатель. Маленький, супер-быстрый, портативный и автономный. Вы можете использовать Regex, но у него также есть свой собственный простой синтаксис языка, чтобы сделать запросы в теории намного проще.

Цитирую:

В отличие от аналогичных программ, WildGem работает быстро с двойным дисплеем и обновляет или выделяет совпадения при вводе в реальном времени. Уникальный синтаксис с цветовой кодировкой позволяет легко находить / заменять текст, не беспокоясь о необходимости экранировать специальные символы.

Вот скриншот: Wildgem

0 голосов
/ 09 октября 2008

Не зная платформы, я бы сказал, что объявление, которое появилось на этой странице, может быть уместным: PowerGREP. Ничего не знаю об этом, но это звучит похоже на то, что вы ищете.

0 голосов
/ 09 октября 2008

Используйте emacs или xemacs. У этого есть прекрасная функция замены регулярного выражения. Вы даже можете использовать такие конструкции, как / 1 (или / 2 или / 3), чтобы получить обратно совпадающее выражение в вашей замене, которое было идентифицировано с () вокруг них. Для предотвращения столкновения vi-emacs: vi также будет иметь аналогичные конструкции. Я не уверен ни в каких современных редакторах, которые поддерживают эту функцию.

Совет: попробуйте сначала простую замену, это может быть немного неясно, так как вы можете добавить '\', чтобы избежать специальных конструкций RegExp ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...