Texteditor für Windows mit regulären Ausdrücken

OP #7049629
Lesenswert?

Guten Tag,

ich habe eine kleine Textdatei (gerade einmal 20kb), bei denen ich einen 
Teil mittels regulärem Ausdruck löschen will.

Das Problem: Notepad++ schafft es nicht. Fange ich ein paar zig Zeilen 
vor dem Ende an, dauert es ein paar Sekunden. Die ganze Datei zu 
durchsuchen dauert jetzt schon 20 Minuten, und ich bezweifle, dass es 
ein Ende gibt.

Kennt jemand von euch einen guten Texteditor für Windows, der weder 
Emacs noch Vim ist und reguläre Ausdrücke (schnell) beherrscht?
Gast #7049639
Lesenswert?

Walter T. schrieb:
> Kennt jemand von euch einen guten Texteditor für Windows, der weder
> Emacs noch Vim ist und reguläre Ausdrücke (schnell) beherrscht?

Ich nehme immer den eingebauten von Total-Commander.

Bisher absolut Stressfrei bis zu einer gewissen sehr großen Dateigröße.

Ansonsten musst du auf schwere Waffen umsteigen. = MS-Word o. sein 
Libre-Office.

Dann einfach "speichern unter" und dort als "Als Text-Datei (*.txt)" 
auswählen.
Gast #7049661
Lesenswert?

Walter T. schrieb:
> Sebastian schrieb:
>
>> Vielleicht ist dein regulärer Ausdruck extrem schwierig?
>
> Nicht wirklich. Auch nichts, wo er direkt die ganze Datei "gierig"
> erfassen will.
> Ich will am Zeilenanfang Numerierungen (ohne führende Nullen) löschen,
> ersetze also \nN\d+\s durch \n.

Zeilenanfang ist doch ^ also ^[1-9][0-9]*\s+ durch nichts ersetzen?

LG, Sebastian
OP #7049663
Lesenswert?

Rüdiger B. schrieb:
> Vielleicht hast du dir eine endlosschleife gebaut ?

Die Datei ist alles andere als geheim.

Ich will am Zeilenanfang Numerierungen (ohne führende Nullen) löschen,
ersetze also \nN\d+\s durch \n.

Ich sehe nicht, wie das eine Schleife oder so erzeugen könnte. Ich finde 
auch keine Zeile, wo der Ausdruck in mehr als 10 Zeichen terminiert.
Angehängte Dateien:
Gast #7049679
Lesenswert?

;)

Fein. Ein Bild (hier Text) sagt mehr als 1000 Worte.

In den Fall musst du ein Prg-Code benutzen. Anders geht das nicht.

Selbst ein Abschneiden der ersten Zeichen einer Zeile geht nicht, wegen 
den ;

Also muss da ein einfacher Pharser ran.

Der prüft ob das erste Zeichen ein N ist. Dann den Text bis zum 
Leerzeichen auf Text. Wenn kein Text sondern eine Zahl dann die Pos. des 
ersten Leerzeichen nehmen. Mit einer Mid-Funktion den Rest des Textes 
aus der Zeile auslesen und in eine neue Datei schreiben.

Und das ganze Zeile für Zeile ;)

Ist für mich in VB ca. 15 Minuten Arbeit inkl. Testen. Also nicht 
wirklich schwer wenn man coden kann.

Mit etwas mehr Aufwand und guten Excel-Fähigkeiten geht es auch damit 
(ohne Coden).
OP #7049686
Lesenswert?

Schlaumaier schrieb:
> In den Fall musst du ein Prg-Code benutzen. Anders geht das nicht.

Manchmal frage ich mich ja, ob da wirklich ein Mensch an einer Tastatur 
sitzt, der sich den ganzen falschen Unsinn ausdenkt, oder ob hier 
irgendwer merkwürdiges machine learning betreibt. Irgendwie ist beinahe 
jede Antwort falsch, aber sie hat auch irgendwie mit der Frage zu tun.
Gast #7049697
Lesenswert?

Walter T. schrieb:
> Manchmal frage ich mich ja, ob da wirklich ein Mensch an einer Tastatur
> sitzt,

Jedenfalls einer der die Datei auch gelesen hat. Aber da du kein 
Download kannst hier ein Auszug der Datei.

;left_extruder_temperature_raft0: 0
;right_extruder_temperature_reset:
;left_extruder_temperature_reset:
;start gcode
N1 M118 X65.00 Y25.00 Z20.07 T0
M140 S50 T0
M104 S220 T0
M104 S0 T1
N5 M107
N6 G90
N7 G28
N8 M132 X Y Z A B
N9 G1 Z50.000 F420


Ich sehe da keine "Funktion" oder Text-Befehle wie /N etc.

Das ist normales BlaBla.  Entweder ich pharse die selbst, oder es gibt 
ein Programm was mir die Arbeit abnimmt.  Das gebe ich zu, kenne ich 
nicht.

Ich weiß wie gut ich coden kann, ergo würde ich mir nicht die Arbeit 
machen, nach ein Prg. zu suchen, sondern mal eben (wie gesagt 15 Min) 
ein kleinen VB-Code schreiben.
Moderator #7049730
Lesenswert?

Walter T. schrieb:
> Kennt jemand von euch einen guten Texteditor für Windows, der weder
> Emacs noch Vim ist und reguläre Ausdrücke (schnell) beherrscht?

Ist halt etwas blöd, wenn man die besten Kandidaten gleich von
vornherein ausschließt ;-)

Vim führt das Kommando
1
:%s/^N\d\+\s\+//

auf deiner Datei Tuerkeil.gcode mit ihren 17893 Zeilen so schnell aus,
dass ich keine Verzögerung feststellen kann. Bei der zehnfachen
Dateigröße (178930 Zeilen) dauert das Löschen der Nummerierung etwa
100 ms.

Aber das geht sicher mit den allermeisten anderen Editoren ähnlich
schnell. Wenn dein Editor 20 Minuten oder gar noch länger braucht, ist
er vermutlich kaputt.
OP #7049734
Lesenswert?

Zombie schrieb:
> Also bei mir funktioniert das mit Notepad++ ohne probleme. Dauer: etwa 1
> sekunde (und mein Laptop ist aaaaaalt)

Dann interessiert mich Deine wahrscheinlich ebenfalls aaaaaalte Version 
von N++.

Das Problem ist in der aktuellen v8.3.3 (32-bit) und in einer älteren 
Version, bei der ich den Stand nicht mehr kenne, weil ich heute aus dem 
bekannten Grund ein Update gemacht habe.

Yalu X. schrieb:
> Ist halt etwas blöd, wenn man die besten Kandidaten gleich von
> vornherein ausschließt ;-)

Manchmal muss man auf das beste Werkzeug verzichten, weil man nicht 
weiss, ob andere damit klarkommen.
Moderator #7049746
Lesenswert?

Walter T. schrieb:
> Yalu X. schrieb:
>> Ist halt etwas blöd, wenn man die besten Kandidaten gleich von
>> vornherein ausschließt ;-)
>
> Manchmal muss man auf das beste Werkzeug verzichten, weil man nicht
> weiss, ob andere damit klarkommen.

Ok, also Notepad++, das du ja bereits verwendest:

Die neueste Version (8.4) unter Wine braucht bei mir ca. 1,5 Sekunden.
Das ist zwar nicht superschnell, liegt aber noch deutlich unter 20
Minuten. Irgendetwas (vielleicht auch dein Windows) scheint bei dir
kaputt zu sein.

Edit: 8.3.3 (die von dir benutzte Version) braucht ebenfalls ca.
1,5 Sekunden.
Gast #7049973
Lesenswert?

Walter T. schrieb:

> Kennt jemand von euch einen guten Texteditor für Windows, der weder
> Emacs noch Vim ist und reguläre Ausdrücke (schnell) beherrscht?

Notepad2. Hat auch noch den Vorteil, sich als kompletter Ersatz für 
MS-Notepad in's System schummeln zu können.

Die Unterstützung für REs ist allerdings deutlich 
verbesserungsbedürftig. Solange es nur darum geht, existierende Zeilen 
zu ändern, ist's vollkommen OK. Was das Teil aber z.B. nicht kann, ist 
das Löschen von leeren Zeilen bzw. das Löschen von Zeilen, die nach 
einer RE-Ersetzung leer werden. Das fehlt wirklich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren