Algum aplicativo do OS X facilita a pesquisa e a substituição de vários arquivos?

9

Estou procurando uma ferramenta do OS X que permita pesquisar e substituir uma string de pesquisa em vários arquivos. Os requisitos são os seguintes:

  • Pesquisar e substituir
  • Pesquisa por expressão regular
  • Pesquise em vários arquivos
  • Pesquise estruturas de diretório aninhadas
  • Substituir expressão pode usar valores da pesquisa (Expressão regular)
  • A ferramenta possui uma interface de usuário fácil de usar
  • De preferência grátis

Eu sei que alguns editores de texto como o BBEdit têm essa funcionalidade, mas eu preferiria uma ferramenta leve que não exija que eu abra os arquivos para edição primeiro.

Se não houver ferramentas para atender a esses requisitos, eu também consideraria uma alternativa de linha de comando. Eu sei disso perle sedapoio algo assim - uma solução que eu possa definir como um alias ou função do Bash seria bem-vinda neste caso.

nwinkler
fonte

Respostas:

9

Eu normalmente uso o TextMate :

Caixa de diálogo Pesquisa e Substituição do TextMate

O TextMate (1) é / era um produto de compra, mas o TextMate 2 está atualmente em desenvolvimento openSource ativo no gitHub e gratuito para uso.

childno͡.de
fonte
5

Sublime Text é o que eu uso, é ótimo!

captura de tela de localização e substituição

Texto sublime:

  • é livre para avaliar (sem limite de tempo imposto)
  • pode pesquisar e substituir
  • pode pesquisar por expressão regular
  • pode pesquisar em vários arquivos
  • pode pesquisar em estruturas de diretório aninhadas
  • pode usar valores da pesquisa em substituir expressão
  • possui uma interface de usuário fácil de usar
Mike
fonte
1
Você pode ser um pouco mais específico e descrever como o SublimeText resolve o problema descrito na pergunta?
nohillside
Seu site (link fornecido informa tudo), mas ... É gratuito para avaliar (sem limite de tempo imposto) a Pesquisa e Substituição - SIM. Pesquise por expressão regular - SIM. Pesquise em vários arquivos - SIM. Pesquise estruturas de diretório aninhadas - YES. Substituir expressão pode usar valores da pesquisa (Expressão regular) - SIM. A ferramenta possui uma interface de usuário fácil de usar - SIM. De preferência gratuito - SIM (mais ou menos).
27513 Mike
3

Você não precisa abrir os arquivos com o BBEdit. Você apenas aponta para uma pasta. É uma ferramenta muito poderosa, que eu sempre usei com um grande número de arquivos HTML.

Kirk McElhearn
fonte
3

Além das outras soluções usando um editor de texto, eu encontrei o FAR - Find and Replace , uma ferramenta de localização e substituição de várias plataformas. Não é a mais bonita, mas parece que faz o que estou procurando.

http://findandreplace.sourceforge.net/

nwinkler
fonte
2

Costumo usar scripts Ruby como este:

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

Ou você pode usar gets(nil)com -i:

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

Se você instalar o Bash 4 e ativar o globstar, também poderá usar **shells:

sed -i '' 's/search/replace/g' **/*.txt
Lri
fonte
1

Isso foi exatamente sedescrito e corresponde a todos os seus requisitos, exceto que a curva de aprendizado é um pouco íngreme.

Para uma curva de aprendizado mais suave, tente o TextWrangler do BareBones. Ele usa o mecanismo de texto BBEdit e, acredito, possui a funcionalidade completa de pesquisa e substituição de seu irmão mais velho

Ɱark Ƭ
fonte
1
Estou familiarizado com alguns programas e scripts do bash, mas nunca fiz nada avançado sed. Você pode fornecer um exemplo de como usar sedpara substituir o texto em uma série de arquivos, como na rubyresposta (atualmente) acima ?
Nwinkler 28/02
-1

Dê uma olhada na minha App Search and Replace . Você pode usá-lo em vários arquivos ou diretórios, proteger suas cadeias de pesquisa / substituição e usar expressões regulares.

thomasguenzel
fonte
Como isso funciona - por que é melhor do que outras respostas - forneça mais de um link
user151019
1
Olá e bem-vindo ao Ask Different! Embora não nos importemos que os desenvolvedores recomendem seus produtos quando solucionam problemas apresentados, solicitamos que você forneça um contexto claro do motivo pelo qual seu produto é uma resposta e como ele resolve o problema. Para obter mais informações sobre como o Ask Ask e o formato de perguntas e respostas do StackExchange funcionam, consulte nossas Perguntas frequentes .
Ian C.
Eu acho que ele tem aproximadamente os mesmos recursos que as outras ferramentas recomendadas aqui. A diferença é que você tem uma GUI e pode salvar arquivos contendo suas cadeias de pesquisa / substituição. Tem toda a funcionalidade solicitada pelo nwinkler. Ele pode pesquisar e substituir (também usando expressões regulares) em vários arquivos / estruturas de diretório aninhadas e possui (pelo menos é o que eu acho) uma GUI fácil de usar.
Thomasguenzel