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

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

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

Ответы [ 20 ]

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

Perl. Серьезно, это делает вещи сисадмина намного проще. Вот пример:

perl -pi -e 's/something/somethingelse/g' *.log

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

sed - это быстро и просто:

sed -e "s/pattern/result/" <file list>

Вы также можете присоединиться к нему с помощью find:

find <other find args> -exec sed -e "s/pattern/result/" "{}" ";"
5 голосов
/ 23 января 2013

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

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

Textpad хорошо справляется с этой задачей в Windows. И это очень хороший редактор.

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

Неудивительно, что Perl отлично справляется с этой задачей в сочетании с приличной оболочкой:

for file in @filelist ; do
  perl -p -i -e "s/pattern/result/g" $file
done

Это имеет тот же эффект (но более эффективный и без состояния гонки), что и:

for file in @filelist ; do
  cat $file | sed "s/pattern/result/" > /tmp/newfile
  mv /tmp/newfile $file
done
4 голосов
/ 19 сентября 2008

Редактор каталогов Emacs имеет функцию `dired-do-query-replace-regexp 'для поиска и замены регулярного выражения в наборе отмеченных файлов.

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

Для поиска и замены в нескольких файлах в Windows я нашел rxFind очень полезным.

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

Под Windows мне нравилось WinGrep

В Ubuntu я использую Regexxer.

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

Для Mac OS X TextWrangler делает эту работу.

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

Мой личный фаворит - PowerGrep от JGSoft. Он взаимодействует с RegexBuddy , который может помочь вам создать и проверить регулярное выражение, автоматически создает резервные копии всех изменений (и предоставляет возможности отмены), предоставляет возможность анализа нескольких каталогов (с шаблонами имен файлов) и даже поддерживает форматы файлов, такие как Microsoft Word, Excel и PDF.

PowerGrep Screenshot

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