¿Editor de texto capaz de ejecutar expresiones regulares complejas?

10

Quiero encontrar un editor de texto capaz de ejecutar y almacenar principalmente expresiones regulares para su posterior reutilización. También debería poder ejecutarlos en varios archivos.

Sé que puedo obtener todo eso con grep, pero no hay mucho para reutilizarlo. Pude obtener algunas funciones de expresión regular en Gedit con complementos, pero no muy cerca de mis necesidades.

Existe EditPad Pro para Windows (se ejecuta en wine) pero nativo siempre es mejor :)

Mashimom
fuente

Respuestas:

18

Los dos editores clásicos de código abierto de Unix son GNU emacs y (g) Vim y ambos funcionan bien en Ubuntu. Ambos tienen más funciones de las que puedes aprender en la vida, incluido lo que buscas. También hay muchos otros dos , pero también podrías comenzar con el mejor. (Trataré de no entender cuál de estos es mejor, ya que es una guerra santa épica).

Por cierto, sed es probablemente una mejor alternativa que grep para manipulaciones RegEx desde la línea de comandos, y puede escribir y guardar scripts para ello. (Por supuesto, también puedes usar perl, awk y python para reg ex).

Un poco de inspiración de xkcd: http://imgs.xkcd.com/comics/real_programmers.png

precioso
fuente
2
Odio ser ese tipo, pero 'también', no 'dos'.
TJ L
D'oh! Perdón por el error tipográfico. No te preocupes Normalmente soy ese chico. Tenía la intención de mencionar que si desea seguir con gEdit, podría instalar su agradable complemento de herramientas externas y usarlo para ejecutar scripts sed en el búfer.
frabjous
@ tj111 - Nunca te disculpes por estar orientado a los detalles. En nuestra línea de trabajo, sería preocupante si NO pensaras que es importante. :-)
Scott Smith
15

Geany tiene un buen conjunto de hallazgos:

hallazgo geany

reemplazar:

geany reemplazar

y búsqueda de archivos:

grep geany

caracteristicas. No tiene ninguna capacidad incorporada para guardar expresiones regulares para más adelante, aunque siempre puede almacenarlas en un archivo de texto.

Tiene historial para buscar / reemplazar, pero esto se limita a una sesión.

dv3500ea
fuente
1
Es mucho más fácil usar Geany cuando necesita un editor rápido de GUI con soporte para expresiones regulares, en lugar de tener que buscar en Internet y páginas de manual para aprender la sintaxis de expresiones regulares en vi (m)
Alex Marshall
6

Si solo quieres ejecutar regex contra un montón de archivos, creo que es hora de que aprendas sedyawk

maco
fuente
Puede guardar y editar los scripts en un archivo con sedo awktambién.
pbhj
2

Puede usar una combinación de GEdit y el complemento Advanced find / replace plugin for geditque puede encontrar en http://code.google.com/p/advanced-find/ .

A partir de 2012 tiene la función de marcar una expresión para que pueda reutilizarla. También puede buscar y reemplazar archivos abiertos, archivos en una carpeta (con un filtro) o dentro de una selección de texto.

Sobre cómo instalar, puede seguir las instrucciones en su página wiki http://code.google.com/p/advanced-find/wiki/Installation .

Básicamente lo que debes hacer es:

  1. Descargue la versión correcta para su gedit desde http://code.google.com/p/advanced-find/downloads/list .

  2. Descomprimirlo.

  3. Ejecute install.sh (sin sudo).

  4. Vaya a preferencias / complemento y actívelo.

Captura de pantalla del cuadro de diálogo Buscar / reemplazar avanzado abierto

PhoneixS
fuente
1

Quería agregar un comentario que señalara esta respuesta , pero como aparentemente no tengo suficiente reputación para eso, la duplicaré aquí como respuesta propia: RegExr es la mejor herramienta que he usado para la manipulación de texto. usando expresiones regulares. ¡Incluso te explicará cada parte de la expresión regular!

Es una herramienta en línea, pero hay una versión de escritorio . Utiliza Adobe AIR, que ha sido descontinuado para Linux, por lo que es posible que deba instalarlo siguiendo estas excelentes instrucciones paso a paso . Después de eso, descargue el .airarchivo para la página de escritorio RexExr vinculada anteriormente, y debería poder abrirlo con el instalador de AIR. ¡Entonces edita lejos!

waldyrious
fuente
1

Estoy realmente sorprendido de que nadie haya mencionado 'medit' ... buscar / reemplazar tiene una casilla de verificación simple que le dice a medit que el criterio que ingresó es una expresión regular ... puede ser tan simple o complejo como desee ...

michaelg
fuente
Bienvenido a AskUbuntu. Sería más útil si pudiera elaborar la respuesta con ejemplos y / o capturas de pantalla.
Sri
0

Atom tiene esta función. Descargue e instale el paquete "deb".

Presione CTRL+ Fy haga clic en el .*botón para ingresar al modo regex.

Alternativamente, puede presionar CTRL+ ALT+/

También en github.

Pregunta relacionada sobre cómo usar la expresión regular en el átomo.

O puedes usar caty sed.

Use sed -epara imprimir simplemente los cambios. Use sed -ipara editar realmente el contenido del archivo.

Vea aqui para mas informacion.

También puede usar egreppara usar expresiones regulares con grep.

Si solo necesita encontrar funciones de reemplazo, geditacepta expresiones regulares si presiona CTRL+ F.

También puedes hacer expresiones regulares en vim .

mchid
fuente
0

Eclipse es mejor aunque un poco pesado para el propósito. Todos los resultados están disponibles en un panel separado. (esqueleto) Puedes saltar inmediatamente a cualquiera de ellos.

elajmor
fuente