Какой лучший инструмент для поиска и замены регулярных выражений в нескольких файлах? - PullRequest
25 голосов
/ 19 сентября 2008

Желательно бесплатные инструменты, если это возможно.

Кроме того, возможность поиска нескольких регулярных выражений и замены каждой из них на разные строки будет бонусом.

Ответы [ 20 ]

1 голос
/ 10 июля 2015

, если 'textpad' является правильным ответом, я бы предложил Sublime Text hands down.

Редактирование несколькими курсорами - это еще более эффективный способ сделать замены, как мне кажется, но его " Поиск в файлах " является верхним уровнем для массовых замен регулярных выражений / простых операций поиска.

1 голос
/ 28 января 2013

Мне нравится этот инструмент:

http://www.abareplace.com/

Дает вам предварительный просмотр вашего регулярного выражения "по мере ввода" ... FANTASTIC для тех, кто не очень хорошо разбирается в RE ... и он очень быстро изменяет сотни или тысячи файлов одновременно ...

А потом давайте тоже ОТМЕНИМ ваши изменения ...

Очень мило ...

Патрик Стейл - http://www.podiotools.com

1 голос
/ 22 марта 2012

В Windows есть бесплатная альтернатива, которая работает лучше всего: Notepad ++

Перейдите в «Поиск» -> «Найти в файлах». Можно указать каталог, шаблон файла, установить регулярные выражения, затем просмотреть совпадения и, наконец, рекурсивно заменить все файлы.

1 голос
/ 13 июня 2009

У меня есть роскошь Unix и Ubuntu; В обоих случаях я использую gawk для всего, что требует построчного поиска и замены, особенно построчно для подстроки. В последнее время это был самый быстрый способ обработки 1100 изменений для миллионов строк в сотнях файлов (один каталог). На Ubuntu я фанат regexxer

 sudo apt-get install regexxer
1 голос
/ 19 сентября 2008

Я бы пошел на Баш + найти + Сед.

1 голос
/ 19 сентября 2008

Vim для спасения (и президент ;-)). Попробуйте:

vim -c "argdo! s:foo:bar:gci" <list_of_files>

(Мне нравится ключ -c Vim, это волшебство. Или, если вы уже работали в Vim и открыли файлы, например:

vim <list_of_files>

Просто выпуск:

:bufdo! s:foo:bar:gci

Конечно, sed и perl тоже способны. НТН.

0 голосов
/ 03 октября 2018

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

$ etags file1.txt file2.md dir1/*.yml dir2/*.json dir3/*.md

Затем откройте Emacs и запустите tags-query-replace, который запрашивает регулярное выражение и замену:

\b\(foo\)\b
\1bar
0 голосов
/ 10 апреля 2016

Скобки (исходный код, deb / Ubuntu, OSx и Windows) имеют хорошую визуализацию результатов, позволяя выбрать их отдельно для применения подстановки. Вы можете искать по стандартному тексту, с учетом регистра или нет, и регулярное выражение. Очень важно: вы можете исключить шаблоны файлов и каталогов из поиска.

0 голосов
/ 08 июня 2009

Я нашел инструмент RxFind полезным (бесплатный OSS).

0 голосов
/ 19 сентября 2008

jEdit регулярное поиск и замена в файлах довольно прилично. Немного излишним, если вы используете его только для этого. Он также не поддерживает запрошенную замену нескольких выражений.

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