Re: Neues Problem mit RegExp (was Re: suche regexp)

2006-06-22 Diskussionsfäden Matthias Houdek
Hallo Michael Bienia, hallo auch an alle anderen Mittwoch, 21. Juni 2006 12:34 - Michael Bienia wrote: Mit Lookaround-Zusicherungen wie sie z.B. Perl kennt: s/(?:^|(?=\|))(\d+)\.(\d\d?\|)/\1,\2/g Hier wird eine Lookbehind-Zusicherung genutzt, um nachzusehen, ob vor den Zahlen ein |

Re: Neues Problem mit RegExp (was Re: suche regexp)

2006-06-21 Diskussionsfäden Roland M. Kruggel
Am Mittwoch, 21. Juni 2006 07:58 schrieb Matthias Houdek: Hallo Dienstag, 20. Juni 2006 20:07 - Matthias Houdek wrote: [Ersetzen von Dezimalpunkt durch Dezimalkomma in rein numerischen Feldern in folgender Struktur (z.B.) bei ein oder zwei Nachkommastellen:

Re: Neues Problem mit RegExp (was Re: suche regexp)

2006-06-21 Diskussionsfäden Michael Bienia
On 2006-06-21 07:58:57 +0200, Matthias Houdek wrote: Hallo Dienstag, 20. Juni 2006 20:07 - Matthias Houdek wrote: [Ersetzen von Dezimalpunkt durch Dezimalkomma in rein numerischen Feldern in folgender Struktur (z.B.) bei ein oder zwei Nachkommastellen:

Re: suche regexp

2006-06-21 Diskussionsfäden Bjoern Schliessmann
Andreas Pakulat wrote: Ich mag Python auch lieber, aber fuer ein paar Such/Ersetzungsauftraege mit Regexp ist Perl deutlich besser geeignet. Schnüff. Ich hab Angst vor Perl ;) Ernsthaft, warum ist Perl hier besser geeignet -- ist der Quelltext kürzer oder die Performance besser? Grüße,

Re: suche regexp

2006-06-21 Diskussionsfäden Helmut Wollmersdorfer
Bjoern Schliessmann wrote: Schnüff. Ich hab Angst vor Perl ;) Wieso? Beisst nicht und ist nicht giftig. Ernsthaft, warum ist Perl hier besser geeignet -- ist der Quelltext kürzer oder die Performance besser? Beides. Perl hat z.B. 'automatische Variablen', wo man in Python ein

Re: suche regexp

2006-06-21 Diskussionsfäden Andreas Pakulat
On 21.06.06 15:45:19, Bjoern Schliessmann wrote: Andreas Pakulat wrote: Ich mag Python auch lieber, aber fuer ein paar Such/Ersetzungsauftraege mit Regexp ist Perl deutlich besser geeignet. Ernsthaft, warum ist Perl hier besser geeignet -- ist der Quelltext kürzer oder die Performance

suche regexp

2006-06-20 Diskussionsfäden Roland M. Kruggel
Hallo Liste, ich brauche mal die spezialisten für regexp, sed, awk oder ähnliches. Folgendes Problem tritt bei einer Konvertierung einer Datenbank auf. Es gibt folgende Datensätze ind dieser und ähnlicher Form. Delimiter ist immer '|' --- 30102136030.0|20|30102|silo 22.0|136|30|1| +

Re: suche regexp

2006-06-20 Diskussionsfäden Michael Ott
Hallo Roland! ich brauche mal die spezialisten für regexp, sed, awk oder ähnliches. Folgendes Problem tritt bei einer Konvertierung einer Datenbank auf. Es gibt folgende Datensätze ind dieser und ähnlicher Form. Delimiter ist immer '|' --- 30102136030.0|20|30102|silo 22.0|136|30|1|

Re: suche regexp

2006-06-20 Diskussionsfäden Roland M. Kruggel
Gemeinsamkeiten der Decimalfelder: * nur zahlen * beliebige Vorkomma-Stellen * eine oder zwei Nachkommastellen * am ende immer ein '|' * immer ein Punkt als Dezimalzeichen vim: :%s/\(\d\+\)\.\(\(\d\|\d\d\)|\)/\1,\2/g Megagei. :) Ich frage jetzt nicht nach dem Wie. Hut ab,

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Michael Ott, hallo auch an alle anderen Dienstag, 20. Juni 2006 14:51 - Michael Ott wrote: Hallo Roland! ich brauche mal die spezialisten für regexp, sed, awk oder ähnliches. Folgendes Problem tritt bei einer Konvertierung einer Datenbank auf. Es gibt folgende Datensätze ind

Re: suche regexp

2006-06-20 Diskussionsfäden Roland M. Kruggel
Am Dienstag, 20. Juni 2006 14:51 schrieb Michael Ott: Gemeinsamkeiten der Decimalfelder: * nur zahlen * beliebige Vorkomma-Stellen * eine oder zwei Nachkommastellen * am ende immer ein '|' * immer ein Punkt als Dezimalzeichen vim: :%s/\(\d\+\)\.\(\(\d\|\d\d\)|\)/\1,\2/g Eine

Re: suche regexp

2006-06-20 Diskussionsfäden Thorsten Haude
Moin, * Roland M. Kruggel wrote (2006-06-20 14:28): Ich muss jetzt in einigen Felder den Punkt durch ein Komma ersetzen. Eigentlich trivial wenn da nicht das Datum und das Textfeld drin wäre. Dort müssen die Punkte bleiben. Also: Zeilenanfang oder | (^||) dann beliebig viele

Re: suche regexp

2006-06-20 Diskussionsfäden Thorsten Haude
Moin, * Matthias Houdek wrote (2006-06-20 16:12): Folgendes sollte es aber treffen (ungetestet, ggf. die Syntax je nach verwendetem Dialekt anpassen, z.B. Klammern escapen wie oben): s/((^|\|)\d+).(\d{1,2}\|)/\1,\3/g ^ Da war ich mir nicht so sicher, ob das gebraucht wird. Meiner

Re: suche regexp

2006-06-20 Diskussionsfäden Thorsten Haude
Moin, * Thorsten Haude wrote (2006-06-20 16:11): s/((^|\|)/\d*)\.(\d{1,2}|)/\1,\2/ Falsch so sollte es gehen: s/(^|\|)(\d*)\.(\d{1,2}|)/\2,\3/ Thorsten -- Why do we drink cow's milk? Who was the first guy who first looked at a cow and said I think I'll drink whatever comes out of these things

Re: suche regexp

2006-06-20 Diskussionsfäden Roland M. Kruggel
Am Dienstag, 20. Juni 2006 16:11 schrieb Thorsten Haude: Moin, * Roland M. Kruggel wrote (2006-06-20 14:28): Ich muss jetzt in einigen Felder den Punkt durch ein Komma ersetzen. Eigentlich trivial wenn da nicht das Datum und das Textfeld drin wäre. Dort müssen die Punkte bleiben. Also:

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Matthias Houdek, hallo auch an alle anderen Dienstag, 20. Juni 2006 16:12 - Matthias Houdek wrote: [...] s/((^|\|)\d+).(\d{1,2}\|)/\1,\3/g ^^ Urps, da muss natürlich noch ein Backslash vor den Punkt. -- Gruß MaxX Bitte beachten: Diese Mailadresse nimmt nur

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Roland M. Kruggel, hallo auch an alle anderen Dienstag, 20. Juni 2006 15:58 - Roland M. Kruggel wrote: Gemeinsamkeiten der Decimalfelder: * nur zahlen * beliebige Vorkomma-Stellen * eine oder zwei Nachkommastellen * am ende immer ein '|' * immer ein Punkt als

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Thorsten Haude, hallo auch an alle anderen Dienstag, 20. Juni 2006 16:21 - Thorsten Haude wrote: Moin, * Thorsten Haude wrote (2006-06-20 16:11): s/((^|\|)/\d*)\.(\d{1,2}|)/\1,\2/ Falsch so sollte es gehen: s/(^|\|)(\d*)\.(\d{1,2}|)/\2,\3/ Autsch, das geht auch daneben. ;-) Das

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Roland M. Kruggel, hallo auch an alle anderen Dienstag, 20. Juni 2006 16:27 - Roland M. Kruggel wrote: Am Dienstag, 20. Juni 2006 16:11 schrieb Thorsten Haude: Moin, * Roland M. Kruggel wrote (2006-06-20 14:28): Ich muss jetzt in einigen Felder den Punkt durch ein Komma

Re: suche regexp

2006-06-20 Diskussionsfäden Helmut Wollmersdorfer
Roland M. Kruggel wrote: Perl hört sich gut an. Wäre es unverschämt von mir, wenn ich um einen perlaufruf bitten würde. Dann könnte ich mir ein bash-script bauen das die ganzen 58 File nacheinander abklappert. In Perl kannst auch Files mit einer Schleife durchlaufen, bzw. ganze sogar ganze

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Matthias Houdek, hallo auch an alle anderen Dienstag, 20. Juni 2006 16:56 - Matthias Houdek wrote: Hallo Roland M. Kruggel, hallo auch an alle anderen Dienstag, 20. Juni 2006 16:27 - Roland M. Kruggel wrote: Am Dienstag, 20. Juni 2006 16:11 schrieb Thorsten Haude: Moin, *

Re: suche regexp

2006-06-20 Diskussionsfäden Christian Frommeyer
Am Dienstag 20 Juni 2006 18:03 schrieb Matthias Houdek: *Argh* - bei sed sind es mal wieder Basic-RegExp, also immer schön ein Backslash vor die Klammern und das Oder-Zeichen |. sed -r ist Dein Freund ;) Gruß Chris -- A: because it distrupts the normal process of thought Q: why is top

Re: suche regexp

2006-06-20 Diskussionsfäden Thorsten Haude
Moin, * Matthias Houdek wrote (2006-06-20 16:51): Dienstag, 20. Juni 2006 16:21 - Thorsten Haude wrote: * Thorsten Haude wrote (2006-06-20 16:11): s/((^|\|)/\d*)\.(\d{1,2}|)/\1,\2/ Falsch so sollte es gehen: s/(^|\|)(\d*)\.(\d{1,2}|)/\2,\3/ Autsch, das geht auch daneben. ;-) Das lässt den

Re: suche regexp

2006-06-20 Diskussionsfäden Thorsten Haude
Moin, * Roland M. Kruggel wrote (2006-06-20 16:27): Am Dienstag, 20. Juni 2006 16:11 schrieb Thorsten Haude: Ergebnis: /(^|\|)/\d*\.\d{1,2}|/ ^ ist dann nicht der zuviel? Stimmt, keine Ahnung, wo der herkommt. Wäre es unverschämt von mir, wenn ich um einen perlaufruf bitten würde.

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Thorsten Haude, hallo auch an alle anderen Dienstag, 20. Juni 2006 19:39 - Thorsten Haude wrote: Moin, * Matthias Houdek wrote (2006-06-20 16:51): Dienstag, 20. Juni 2006 16:21 - Thorsten Haude wrote: * Thorsten Haude wrote (2006-06-20 16:11): s/((^|\|)/\d*)\.(\d{1,2}|)/\1,\2/

Re: suche regexp

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Christian Frommeyer, hallo auch an alle anderen Dienstag, 20. Juni 2006 19:03 - Christian Frommeyer wrote: Am Dienstag 20 Juni 2006 18:03 schrieb Matthias Houdek: *Argh* - bei sed sind es mal wieder Basic-RegExp, also immer schön ein Backslash vor die Klammern und das Oder-Zeichen |.

Re: suche regexp

2006-06-20 Diskussionsfäden Roland M. Kruggel
Am Dienstag, 20. Juni 2006 20:07 schrieb Matthias Houdek: Damit vereinfacht sich det Janze natürlich wieda, wa: sed -r 's/(^|\|)([0-9]+)\.([0-9]{1,2}\|)/\1\2,\3/g' $oldfile $newfile Ich habe mich zu dieser Variante entschieden. Recht herzlichen Dank an alle Beteiligten. Ihr habt mir sehr

Re: suche regexp

2006-06-20 Diskussionsfäden Bjoern Schliessmann
Roland M. Kruggel wrote: Perl hört sich gut an. lanzebrech Python! Python! :) http://www.python.org/ /lanzebrech Grüße, Björn -- BOFH excuse #141: disks spinning backwards - toggle the hemisphere jumper. -- Haeufig gestellte Fragen und Antworten (FAQ):

Re: suche regexp

2006-06-20 Diskussionsfäden Andreas Pakulat
On 21.06.06 00:11:56, Bjoern Schliessmann wrote: Roland M. Kruggel wrote: Perl hört sich gut an. lanzebrech Python! Python! :) http://www.python.org/ /lanzebrech Ich mag Python auch lieber, aber fuer ein paar Such/Ersetzungsauftraege mit Regexp ist Perl deutlich besser geeignet.

Neues Problem mit RegExp (was Re: suche regexp)

2006-06-20 Diskussionsfäden Matthias Houdek
Hallo Dienstag, 20. Juni 2006 20:07 - Matthias Houdek wrote: [Ersetzen von Dezimalpunkt durch Dezimalkomma in rein numerischen Feldern in folgender Struktur (z.B.) bei ein oder zwei Nachkommastellen: sd34.43|232232.22|2345.4|324234.324|2323.45|123.41| ] sed -r