Многострочный инструмент поиска и замены - PullRequest
20 голосов
/ 06 ноября 2008

Я ищу инструмент для замены нескольких строк в проекте. Например:

#include "../DiscreteIO/Discrete.h"
#include "../PCI/pci.h"
#include "../Arinc429/ARINC429.h"

с

#include "../PCI/pci.h"
#include "../DiscreteIO/DiscreteHW.h"
#include "../DiscreteIO/Discrete.h"

Я пробовал два инструмента, которые работают для этого типа поиска и замены. Wildedit и Фактический поиск и замена Оба эти инструмента кажутся отличными, но являются условно-бесплатными. Кто-нибудь знает подобные инструменты? Что-нибудь бесплатное или пора расстаться с деньгами?

Уточнение:

в рамках проекта в данном случае означает тысячу плюс c файлов. Текстовые редакторы могут делать это только один файл за раз (Textpad, Блокнот программистов) или во всех открытых файлах (nodepad ++). Я не пробовал ни одного из других редакторов, но я предполагаю, что у них будут похожие проблемы. Пожалуйста, поправьте меня, если я ошибаюсь.

Такие инструменты, как sed & awk, являются решением, но представляют проблемы, поскольку я не пользуюсь ими регулярно, и мне нужно потратить некоторое время на то, чтобы что-то заработать, поскольку я не специалист по инструментам.

Ответ: Все это ...

Ультраредактирование может работать, но у меня уже есть редактор, и цена высока, если я просто собираюсь использовать его в качестве инструмента поиска и замены.

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

Wild Edit может работать и не так дорого.

В конце концов, я решил применить свои навыки регулярных выражений.

Ответы [ 13 ]

0 голосов
/ 06 ноября 2008

Я всегда недоумеваю, когда люди просят инструменты, не говоря, для какой платформы (ей) они нужны ... В этих случаях, я полагаю, это по умолчанию для Windows ...

Для Windows доступно несколько инструментов поиска / замены, более или менее мощных, многие из них бесплатны.
В настоящее время я использую модуль поиска / замены FileMenu Tools , удивительно мощный (вы можете использовать регулярные выражения), который поставляется с множеством других вкусностей.
У меня также есть RJL Soft Simple Search-Replace (без RE), TortoiseSVN автора grepWin , поддерживающие регулярные выражения и большое количество опций, и некоторые другие, которые я использовал в прошлом.

PS: я забыл. Простой поиск-замена не будет выполнять многострочные замены. Ни один из FileMenu Tools, по-видимому. grepWin может сделать (например, используя \ r \ n). Я помню такие бесплатные инструменты с многострочными полями поиска / замены, но у меня нет их имен под рукой.

0 голосов
/ 06 ноября 2008

Я почти уверен, что комбинация sed, awk и / или grep сделает эту работу. Они бесплатны и поставляются с любым дистрибутивом Linux, но существуют и версии для Windows.

0 голосов
/ 06 ноября 2008

Ultraedit может это сделать. Я расстался с деньгами за это.

Существует учебник по многострочному поиску и замене , который вы можете использовать с " replace in files " для применения к нескольким файлам.

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