¿Alguna aplicación de OS X facilita la búsqueda y el reemplazo en varios archivos?

9

Estoy buscando una herramienta OS X que me permita buscar y reemplazar una cadena de búsqueda en varios archivos. Los requisitos son los siguientes:

  • Buscar y reemplazar
  • Buscar por expresión regular
  • Buscar en múltiples archivos
  • Buscar en estructuras de directorio anidadas
  • La expresión Reemplazar puede usar valores de la búsqueda (Expresión regular)
  • La herramienta tiene una interfaz de usuario fácil de usar.
  • Preferiblemente gratis

Sé que algunos editores de texto como BBEdit tienen esta funcionalidad, pero preferiría una herramienta liviana que no requiera que primero abra los archivos para editarlos.

Si no hay herramientas para cumplir con estos requisitos, también consideraría una alternativa de línea de comando. Lo sé perly sedapoyo algo como esto: una solución que pueda definir como un alias Bash o una función sería bienvenida en este caso.

nwinkler
fuente

Respuestas:

9

Normalmente uso TextMate :

Cuadro de diálogo Buscar y reemplazar TextMate

TextMate (1) es / fue un producto de compra, pero TextMate 2 se encuentra actualmente en desarrollo activo de código abierto en gitHub y es de uso gratuito.

childno͡.de
fuente
5

Sublime Text es lo que uso, ¡es genial!

captura de pantalla de buscar y reemplazar

Texto sublime:

  • es libre de evaluar (sin límite de tiempo impuesto)
  • puede buscar y reemplazar
  • puede buscar por expresión regular
  • puede buscar en múltiples archivos
  • puede buscar en estructuras de directorios anidadas
  • puede usar valores de la búsqueda en la expresión de reemplazo
  • tiene una interfaz de usuario fácil de usar
Miguel
fuente
1
¿Puede ser un poco más específico y describir cómo SublimeText resuelve el problema descrito en la pregunta?
nohillside
Su sitio web (enlace provisto le dice todo) pero ... Es gratis evaluar (sin límite de tiempo) Buscar y reemplazar - SÍ. Búsqueda por expresión regular: SÍ. Buscar en varios archivos: SÍ. Buscar en estructuras de directorio anidadas: SÍ. La expresión Reemplazar puede usar valores de la búsqueda (Expresión regular): SÍ. La herramienta tiene una interfaz de usuario fácil de usar: SÍ. Preferiblemente gratis - SÍ (más o menos).
Mike
3

No tiene que abrir los archivos con BBEdit. Simplemente apúntalo a una carpeta. Es una herramienta muy poderosa, que a menudo he usado con una gran cantidad de archivos HTML.

Kirk McElhearn
fuente
3

Además de las otras soluciones que utilizan un editor de texto, he encontrado FAR - Buscar y reemplazar , una herramienta de búsqueda y reemplazo multiplataforma. No es el más bonito, pero parece que hace lo que estoy buscando.

http://findandreplace.sourceforge.net/

nwinkler
fuente
2

A menudo uso scripts de Ruby como este:

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

O puedes usar gets(nil)con -i:

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

Si instala Bash 4 y habilita globstar, también puede usar **en shells:

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

Esto sedse escribió exactamente y coincide con todos sus requisitos, excepto que la curva de aprendizaje es un poco empinada.

Para una curva de aprendizaje más suave, pruebe TextWrangler de BareBones . Utiliza el motor de texto BBEdit y, creo, tiene la funcionalidad completa de búsqueda y reemplazo de su hermano mayor

Ɱark Ƭ
fuente
1
Estoy familiarizado con algunos programas bash y scripts, pero nunca he hecho nada avanzado sed. ¿Puede proporcionar un ejemplo de cómo usar sedpara reemplazar texto en una serie de archivos, como en la rubyrespuesta (actualmente) anterior ?
nwinkler
-1

Echa un vistazo a mi aplicación Buscar y reemplazar . Puede usarlo en múltiples archivos o directorios, proteger sus cadenas de búsqueda / reemplazo y puede usar expresiones regulares.

Thomasguenzel
fuente
¿Cómo funciona esto? ¿Por qué es mejor que otras respuestas? Proporcione más que un enlace
user151019
1
Hola y bienvenido a Ask Different! Si bien no nos importa que los desarrolladores recomienden sus productos cuando resuelven los problemas que se presentan, le pedimos que proporcione un contexto claro de por qué su producto es una respuesta y cómo resuelve el problema. Para obtener más información sobre cómo funciona Ask Different y el formato de preguntas y respuestas de StackExchange, consulte nuestras preguntas frecuentes .
Ian C.
Supongo que tiene las mismas características que las otras herramientas recomendadas aquí. La diferencia es que tiene una GUI y puede guardar archivos que contienen sus cadenas de búsqueda / reemplazo. Tiene toda la funcionalidad que nwinkler solicitó. Puede buscar y reemplazar (también usando expresiones regulares) en múltiples archivos / estructuras de directorio anidadas y tiene (al menos eso es lo que creo) una GUI fácil de usar.
thomasguenzel