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 |
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:
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:
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,
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
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
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|
+
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|
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,
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
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
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
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
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
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:
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
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
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
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
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
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,
*
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
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
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.
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/
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 |.
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
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):
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.
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
30 matches
Mail list logo