Texteditor, der komplexe reguläre Ausdrücke ausführen kann?

10

Ich möchte einen Texteditor finden, der reguläre Ausdrücke für die spätere Wiederverwendung ausführen und hauptsächlich speichern kann. Es sollte auch in der Lage sein, sie über mehrere Dateien auszuführen.

Ich weiß, dass ich das alles mit grep bekommen kann, aber es gibt nicht viel für die Wiederverwendung. Ich konnte einige Funktionen für reguläre Ausdrücke auf Gedit mit Plugins erhalten, aber nicht annähernd meinen Anforderungen.

Es gibt EditPad Pro für Windows (läuft auf Wein), aber native ist immer besser :)

Mashimom
quelle

Antworten:

18

Die beiden klassischen Open Source Unix-Editoren sind GNU-Emacs und (g) Vim. Beide funktionieren unter Ubuntu einwandfrei. Beide haben mehr Funktionen, als Sie in Ihrem Leben kennenlernen können, einschließlich dessen, wonach Sie suchen. Es gibt viele andere zwei auch, aber man könnte genauso gut mit den besten Start. (Ich werde versuchen, nicht darauf einzugehen, welches davon besser ist, da es bereits ein epischer heiliger Krieg ist.)

Übrigens ist sed wahrscheinlich eine bessere Alternative als grep für RegEx-Manipulationen über die Befehlszeile, und Sie können Skripte dafür schreiben und speichern. (Natürlich können Sie Perl, Awk und Python auch für Reg Ex verwenden.)

Einige Inspirationen von xkcd: http://imgs.xkcd.com/comics/real_programmers.png

frabjous
quelle
2
Ich hasse es, dieser Typ zu sein, aber "zu", nicht "zwei".
TJ L
D'oh! Entschuldigung für den Tippfehler. Mach dir keine Sorgen. Ich bin normalerweise dieser Typ. Ich wollte erwähnen, dass Sie, wenn Sie bei gEdit bleiben möchten, das nette Plugin für externe Tools installieren und damit sed-Skripte auf dem Puffer ausführen können.
Frabjous
@ tj111 - Entschuldige dich niemals für die Detailorientierung. In unserer Arbeit wäre es besorgniserregend, wenn Sie nicht glauben würden, dass es wichtig ist. :-)
Scott Smith
15

Geany hat einen guten Fund:

Geany finden

ersetzen:

geany ersetzen

und Dateisuche:

Geany Grep

Eigenschaften. Es ist nicht in der Lage, reguläre Ausdrücke für später zu speichern, obwohl Sie sie jederzeit in einer Textdatei speichern können.

Es gibt zwar einen Verlauf zum Suchen / Ersetzen, dieser ist jedoch auf eine Sitzung beschränkt.

dv3500ea
quelle
1
Es ist viel einfacher, Geany zu verwenden, wenn Sie einen schnellen GUI-Editor mit Regex-Unterstützung benötigen, als das Internet und die Manpages durchsuchen zu müssen, um die Syntax für Regexes in vi (m) zu lernen
Alex Marshall
6

Wenn Sie nur Regex für eine Reihe von Dateien ausführen möchten, ist es meiner Meinung nach an der Zeit, etwas über sedund zu lernenawk

Maco
quelle
Sie können die Skripte in einer Datei mit sedoder awkauch speichern und bearbeiten .
pbhj
2

Sie können eine Kombination aus GEdit und dem Plugin verwenden Advanced find / replace plugin for gedit, das Sie unter http://code.google.com/p/advanced-find/ finden .

Ab 2012 hat es die Funktion, einen Ausdruck mit einem Lesezeichen zu versehen, damit Sie ihn wiederverwenden können. Es kann auch nach geöffneten Dateien suchen und diese ersetzen, nach Dateien in einem Ordner (mit einem Filter) oder innerhalb einer Textauswahl.

Informationen zur Installation finden Sie auf der Wiki-Seite http://code.google.com/p/advanced-find/wiki/Installation .

Grundsätzlich müssen Sie Folgendes tun:

  1. Laden Sie die richtige Version für Ihr gedit von http://code.google.com/p/advanced-find/downloads/list herunter .

  2. Dekomprimiere es.

  3. Führen Sie install.sh aus (ohne sudo).

  4. Gehen Sie zu Einstellungen / Plug-In und aktivieren Sie es.

Screenshot des Dialogfelds "Erweitertes Suchen / Ersetzen" geöffnet

PhoneixS
quelle
1

Ich wollte einen Kommentar hinzufügen, der auf diese Antwort verweist , aber da ich anscheinend nicht genug Ruf dafür habe, werde ich ihn hier als meine eigene Antwort duplizieren: RegExr ist das beste Tool, das ich jemals für die Textmanipulation verwendet habe mit regulären Ausdrücken. Es wird Ihnen sogar jeden Teil der Regex erklären!

Es ist ein Online-Tool, aber es gibt eine Desktop-Version . Hierbei wird Adobe AIR verwendet, das für Linux nicht mehr verfügbar ist. Daher müssen Sie es möglicherweise gemäß diesen hervorragenden schrittweisen Anweisungen installieren . Laden Sie anschließend die .airoben verlinkte Datei für die RexExr-Desktopseite herunter , und Sie sollten sie mit dem AIR-Installationsprogramm öffnen können. Dann weg bearbeiten!

waldyrious
quelle
1

Ich bin wirklich überrascht, dass niemand 'medit' erwähnt hat ... Suchen / Ersetzen hat ein einfaches Kontrollkästchen, das medit mitteilt, dass das von Ihnen eingegebene Kriterium ein regulärer Ausdruck ist ... kann so einfach oder komplex sein, wie Sie möchten.

Michaelg
quelle
Willkommen bei AskUbuntu. Es wäre nützlicher, wenn Sie die Antwort mit Beispielen und / oder Screenshots ausarbeiten könnten.
Sri
0

Atom hat diese Funktion. Laden Sie das "deb" -Paket herunter und installieren Sie es.

Drücken Sie CTRL+ Fund klicken Sie auf die .*Schaltfläche, um in den Regex-Modus zu wechseln.

Alternativ können Sie CTRL+ ALT+ drücken/

Auch auf Github.

Verwandte Frage zur Verwendung von Regex in Atom.

Oder Sie können catund verwenden sed.

Verwenden Sie sed -ediese Option, um die Änderungen einfach auszudrucken. Verwenden Sie sed -idiese Option, um den Inhalt der Datei tatsächlich zu bearbeiten.

Weitere Informationen finden Sie hier.

Sie können auch egrepreguläre Ausdrücke mit verwenden grep.

Wenn Sie nur Ersetzungsfunktionen suchen müssen, werden geditreguläre Ausdrücke akzeptiert, wenn Sie CTRL+ drücken F.

Sie können auch reguläre Ausdrücke in vim ausführen .

mchid
quelle
0

Eclipse ist am besten, wenn auch etwas schwer für diesen Zweck. Alle Ergebnisse sind in einem separaten Bereich verfügbar. (Skelett) Sie können sofort zu jedem von ihnen springen.

elajmor
quelle