2008-10-09 4 views

ответ

6

Для поиска: grep - простой и быстрый. В комплекте с Linux, here - это версия Windows, не уверенная в Mac.

Для замены: sed. Here - это версия Windows, не уверенная в Mac.

Конечно, если вы хотите открыть файл и посмотреть его содержимое во время поиска и замены, вы можете использовать для этого emacs. Или ConTEXT. Или vim. Или что у вас есть. ;)

См. Также this question.

+0

Современные компьютеры Mac основаны на Unix и имеют `` sed` и awk` установлен в качестве стандарта. – pdc 2008-10-27 10:19:53

+0

Если требуется версия sed, поддерживающая двоичный режим, версии Windows не будут ее обрезать. Однако версия cygwin sed 4.1.5 поддерживает двоичный режим. – Shadow2531 2008-10-27 11:22:00

1

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

2

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

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

sed -e 's/foo/bar/g' input.txt > output.txt 
0

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

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

+0

А? Является ли emacs «простым и легким»? Argh! : ^) – 2008-10-09 06:28:58

3

Perl выделяется на это, с его -i, -n, -p и -e. См. Слайды из моего сообщения Field Guide To The Perl Command Line Switches.

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

1

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

0

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

1

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

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

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

0

Try WildGem: http://www.skytopia.com/software/wildgem

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

Цитирую:

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

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