Editor di testo in grado di eseguire espressioni regolari complesse?


10

Voglio trovare un editor di testo in grado di eseguire e principalmente archiviare espressioni regolari per un successivo riutilizzo. Dovrebbe anche essere in grado di eseguirli su più file.

So di poterlo ottenere con grep, ma non c'è molto da riutilizzare. Sono stato in grado di ottenere alcune funzionalità di espressione regolare su Gedit con plug-in, ma non quasi vicino alle mie esigenze.

C'è EditPad Pro per Windows (funziona con vino) ma nativo è sempre meglio :)

Risposte:


18

I due classici editor Unix open source sono emac GNU e (g) Vim ed entrambi funzionano bene su Ubuntu. Entrambi hanno più funzioni di quante tu possa conoscere in una vita, incluso quello che stai cercando. Ci sono anche molti altri due , ma potresti anche iniziare con il meglio. (Cercherò di non entrare in quale di questi è meglio, dal momento che è già un'epica guerra santa.)

A proposito, sed è probabilmente un'alternativa migliore di grep per le manipolazioni RegEx dalla riga di comando, e puoi scrivere e salvare script per questo. (Ovviamente puoi usare perl, awk e python anche per reg ex.)

Qualche ispirazione da xkcd: http://imgs.xkcd.com/comics/real_programmers.png


2
Odio essere quel ragazzo, ma "troppo", non "due".
TJ L

D'oh! Mi dispiace per l'errore di battitura. Non ti preoccupare. Di solito sono quel ragazzo. Avevo intenzione di menzionare che se si desidera attenersi a gEdit, è possibile installare il suo piacevole plug-in Strumenti esterni e utilizzarlo per eseguire script sed sul buffer.
frabjous,

@ tj111 - Non scusarti mai per l'orientamento ai dettagli. Nella nostra linea di lavoro, sarebbe preoccupante se non credessi che non fosse importante. :-)
Scott Smith

15

Geany ha una buona serie di scoperte:

trovare Geany

sostituire:

sostituire geany

e ricerca file:

Geany Grep

Caratteristiche. Non ha alcuna possibilità integrata di salvare espressioni regolari per dopo, anche se è sempre possibile memorizzarle in un file di testo.

Ha una cronologia per trovare / sostituire, ma questo è limitato a una sessione.


1
Molto più semplice usare Geany quando hai bisogno di un veloce editor di GUI con supporto regex, piuttosto che dover scavare attraverso internet e le pagine man per imparare la sintassi delle regex in vi (m)
Alex Marshall,

6

Se vuoi solo eseguire regex su un mucchio di file, penso che sia tempo per te di imparare sedeawk


È possibile salvare e modificare gli script in un file con sedo awkanche.
pbhj,

2

Puoi utilizzare una combinazione di GEdit e il plug-in Advanced find / replace plugin for geditche puoi trovare in http://code.google.com/p/advanced-find/ .

Dal 2012 ha la funzione di aggiungere un'espressione ai segnalibri in modo da poterla riutilizzare. Inoltre può cercare e sostituire i file aperti, i file in una cartella (con un filtro) o all'interno di una selezione di testo.

Informazioni su come installare, è possibile seguire le istruzioni nella sua pagina wiki http://code.google.com/p/advanced-find/wiki/Installation .

Fondamentalmente quello che devi fare è:

  1. Scarica la versione corretta per il tuo gedit da http://code.google.com/p/advanced-find/downloads/list .

  2. Decomprimilo.

  3. Esegui install.sh (senza sudo).

  4. Vai a preferenze / plug-in e attivalo.

Schermata della finestra di dialogo Trova / Sostituisci avanzata aperta


1

Volevo aggiungere un commento che punta a questa risposta , ma poiché apparentemente non ho abbastanza reputazione per quello, lo duplicherò qui come una mia risposta: RegExr è lo strumento migliore che abbia mai usato per la manipolazione del testo usando espressioni regolari. Spiegherà anche ogni parte della regex per te!

È uno strumento online, ma esiste una versione desktop . Questo utilizza Adobe AIR, che è stato sospeso per Linux, quindi potrebbe essere necessario installarlo seguendo queste eccellenti istruzioni dettagliate . Successivamente, scarica il .airfile per la pagina desktop RexExr collegata sopra e dovresti essere in grado di aprirlo con il programma di installazione di AIR. Quindi modifica via!


1

Sono davvero sorpreso che nessuno abbia menzionato "medit" ... cerca / sostituisci ha una semplice casella di controllo che dice a medit che i criteri che hai inserito è un'espressione regex ... può essere semplice o complesso come ti piace ..


Benvenuto in AskUbuntu. Sarebbe più utile se si potesse elaborare la risposta con esempi e / o schermate.
Sri

0

Atom ha questa funzione. Scarica e installa il pacchetto "deb".

Premi CTRL+ Fe fai clic sul .*pulsante per accedere alla modalità regex.

In alternativa, puoi premere CTRL+ ALT+/

Anche su github.

Domanda correlata su come usare regex in atom.

Oppure puoi usare cate sed.

Utilizzare sed -eper stampare semplicemente le modifiche. Utilizzare sed -iper modificare effettivamente il contenuto del file.

Vedi qui per maggiori informazioni.

Puoi anche usare egrepper usare espressioni regolari con grep.

Se hai solo bisogno di trovare le funzioni di sostituzione, geditaccetta le espressioni regolari se premi CTRL+ F.

Puoi anche fare espressioni regolari in vim .


0

Eclipse è meglio se un po 'pesante per lo scopo. Tutti i risultati sono disponibili in un riquadro separato. (scheletro) Puoi saltare immediatamente a uno di essi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.