Какие-нибудь приложения OS X облегчают поиск и замену по нескольким файлам?

9

Я ищу инструмент OS X, который позволяет мне искать и заменять строку поиска в нескольких файлах. Требования следующие:

  • Поиск и замена
  • Поиск по регулярному выражению
  • Поиск по нескольким файлам
  • Поиск по вложенным структурам каталогов
  • Заменить выражение может использовать значения из поиска (Регулярное выражение)
  • Инструмент имеет простой в использовании пользовательский интерфейс
  • Желательно бесплатно

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

Если нет никаких инструментов, соответствующих этим требованиям, я бы также рассмотрел альтернативу командной строки. Я знаю это perlи sedподдерживаю что-то вроде этого - в этом случае приветствуется решение, которое я могу определить как псевдоним или функцию Bash .

nwinkler
источник

Ответы:

9

Я обычно использую TextMate :

Диалог поиска и замены TextMate

TextMate (1) является / был продуктом покупки, но TextMate 2 в настоящее время активно разрабатывается openSource на gitHub и может свободно использоваться.

childno͡.de
источник
5

Sublime Text - это то, что я использую, это здорово!

скриншот найти и заменить

Возвышенный текст:

  • свободен в оценке (без ограничения по времени)
  • можно искать и заменять
  • можно искать по регулярному выражению
  • можно искать по нескольким файлам
  • можно искать в структуре вложенных каталогов
  • может использовать значения из поиска в выражении замены
  • имеет простой в использовании пользовательский интерфейс
Майк
источник
1
Можете ли вы быть более конкретным и описать, как SublimeText решает проблему, описанную в вопросе?
nohillside
Их веб-сайт (предоставленная ссылка расскажет вам все), но ... Это бесплатно для оценки (без ограничения по времени) Поиск и замена - ДА. Поиск по регулярному выражению - ДА. Поиск по нескольким файлам - ДА. Поиск по вложенным структурам каталогов - ДА. Заменить выражение может использовать значения из поиска (Регулярное выражение) - ДА. Инструмент имеет простой в использовании пользовательский интерфейс - ДА. Желательно бесплатно - ДА (вроде).
Майк
3

Вам не нужно открывать файлы с BBEdit. Вы просто указываете на папку. Это очень мощный инструмент, который я часто использовал с большим количеством HTML-файлов.

Кирк МакЭлхирн
источник
3

В дополнение к другим решениям, использующим текстовый редактор, я обнаружил FAR - Find and Replace , мультиплатформенный инструмент поиска и замены. Это не самый красивый, но похоже, что он делает то, что я ищу.

http://findandreplace.sourceforge.net/

nwinkler
источник
2

Я часто использую скрипты на Ruby, как это:

Dir["**/*.txt"].each { |f|
  IO.write(f, IO.read(f).gsub(/search/, "replace"))
}

Или вы можете использовать gets(nil)с -i:

ruby -i -e 'print gets(nil).gsub(/search/, "replace")' *.txt

Если вы установите Bash 4 и включите globstar, вы также можете использовать **в оболочках:

sed -i '' 's/search/replace/g' **/*.txt
LRI
источник
1

Это точно sed было написано, и это соответствует всем вашим требованиям, кроме кривой обучения немного крутой.

Для более плавного изучения попробуйте TextWrangler от BareBones. Он использует текстовый движок BBEdit и, как я полагаю, обладает полным набором функций поиска и замены своего старшего брата.

Ɱark Ƭ
источник
1
Я знаком с программированием на bash и написанием сценариев, но никогда не делал ничего более сложного sed. Можете ли вы привести пример того, как использовать sedдля замены текста в серии файлов, как в (в настоящее время) rubyответ выше ?
nwinkler
-1

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

thomasguenzel
источник
Как это работает - почему это лучше, чем другие ответы? Пожалуйста, предоставьте больше, чем ссылку
user151019
1
Привет и добро пожаловать, чтобы спросить другого! Хотя мы не возражаем против того, чтобы разработчики рекомендовали свои продукты, когда они решают представленные проблемы, мы просим вас предоставить четкий контекст о том, почему ваш продукт является ответом и как он решает проблему. Для получения дополнительной информации о том, как Ask Different и как работает формат вопросов и ответов StackExchange, см. Наш FAQ .
Ян С.
Я думаю, что он имеет примерно те же функции, что и другие инструменты, рекомендуемые здесь. Разница в том, что у вас есть графический интерфейс, и вы можете сохранять файлы, содержащие строки поиска / замены. Он обладает всеми функциями, которые запрашивал nwinkler. Он может искать и заменять (также используя регулярные выражения) по нескольким структурам файлов / вложенных каталогов и имеет (по крайней мере, так я думаю) простой в использовании графический интерфейс.
Томасгензель