Re: sed-Kommando gesucht
Andreas Pakulat <[EMAIL PROTECTED]> wrote: > On 23.Sep 2003 - 17:54:21, Michael Hierweck wrote: >> ich finde leider keine sed-Kommando um folgendes zu erreichen. >> >> In einer Datei sollen ein Datum umformatiert werden, und zwar: >> >> "A","B","C","D","E","MMDD","G","H" >> >> soll zu >> >> "A","B","C","D","E","DD.MM.","G","H" [...] > Möglich. Ansonsten müsste: > 's/\(\(".*",\)\{5\}\)"\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)"\(,.*\)/\1"\5.\4.\3"\6/' Funktioniert nicht, vermutlich weil seds RE greedy sind, d.h. das erste \(".*",\) matcht bis einschliesslich »"G",«. cu andreas -- Hey, da ist ein Ballonautomat auf der Toilette! Unofficial _Debian-packages_ of latest unstable _tin_ http://www.logic.univie.ac.at/~ametzler/debian/tin-snapshot/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
Michael Hierweck <[EMAIL PROTECTED]> wrote: > ich finde leider keine sed-Kommando um folgendes zu erreichen. > In einer Datei sollen ein Datum umformatiert werden, und zwar: > "A","B","C","D","E","MMDD","G","H" > soll zu > "A","B","C","D","E","DD.MM.","G","H" [...] sed -e \ 's/\([^,]*,[^,]*,[^,]*,[^,]*,[^,]*,"\)\(\)\(..\)\(..\)/\1\4.\3.\2/' cu andreas -- Hey, da ist ein Ballonautomat auf der Toilette! Unofficial _Debian-packages_ of latest unstable _tin_ http://www.logic.univie.ac.at/~ametzler/debian/tin-snapshot/ -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
sed-Kommando gesucht
Hallo, ich finde leider keine sed-Kommando um folgendes zu erreichen. In einer Datei sollen ein Datum umformatiert werden, und zwar: "A","B","C","D","E","MMDD","G","H" soll zu "A","B","C","D","E","DD.MM.","G","H" werden. Dabei sind die Inhalte der anderen Felder belibige Strings oder Zahlen. Die Position des zu konvertierenden Feldes ist aber bekannt, hier z.B. das 6. Feld. Ich habe das über sed -e's...' mit Hilfe eines \1\4\3\2\5-Konstrukts hinzubekommen, aber ich scheitere, weil sed für mich ziemlich unberechnbar Teilstrings den \n's zuordnet. Danke für Tipps Michael -- Michael Hierweck http://www.hierweck.de -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
Hallo nochmal, Am Mittwoch, 24. Sep 2003, 03:41:14 +0200 schrieb Bertram Scharpf: > Dies mag ein Grenzfall sein, was es einfacher ist, > `sed', `perl' oder `python' zu lernen. ^^^ Das sollte natürlich heißen: `awk', `perl' oder `python' Gruß Bertram -- Bertram Scharpf Stuttgart, Deutschland/Germany -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
On Tue, Sep 23, 2003 at 05:54:21PM +0200, Michael Hierweck wrote: > "A","B","C","D","E","MMDD","G","H" zu > "A","B","C","D","E","DD.MM.","G","H" perl -paF, -e ' $F[5] =~ s/()(..)(..)/$3.$2.$1/; $_ = join ",", @F; ' Best regards from Dresden Viele Gruesse aus Dresden Heiko Schlittermann -- SCHLITTERMANN.de -- internet & unix support - http://debian.schlittermann.de/";> Debian 3.x CD Heiko Schlittermann HS12-RIPE --- pgp: A1 7D F6 7B 69 73 48 35 E1 DE 21 A7 A8 9A 77 92 --- gpg: 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B - -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
* Am Mit, 24 Sep 2003 schrieb Bertram Scharpf: > Hallo, > > Am Dienstag, 23. Sep 2003, 17:54:21 +0200 schrieb Michael Hierweck: > > Hallo, (hoffentlich kein Doppelposting, aber das erste ist verschollen) > > > > ich finde leider keine sed-Kommando um folgendes zu erreichen. > > > > In einer Datei sollen ein Datum umformatiert werden, und zwar: > > > > "A","B","C","D","E","MMDD","G","H" > > > > soll zu > > > > "A","B","C","D","E","DD.MM.","G","H" > > > > werden. > > [...], weil sed für mich ziemlich > > unberechnbar Teilstrings den \n's zuordnet. > > Dies mag ein Grenzfall sein, was es einfacher ist, > `sed', `perl' oder `python' zu lernen. Von python habe ich keine Ahnung, bei der Beurteilung, ob perl oder sed einfacher ist, muss man natürlich bedenken, dass perl alles kann, was sed kann (Es gibt Übersetzer sed->perl) aber umgekehrt perl noch viel, viel mehr kann. Wer also häufiger Bedarf an Skripten etc. hat, sollte sich sicher perl beibringen. Ansonsten sollte man sich aber auf jeden Fall mit Regular Expressions beschäftigen, da das die Grundlage aller "Textbearbeitung" ist. Leider gibt es da zwar immer noch Unterschiede zwischen den Programmen, die aber nicht so groß sind, dass man daran scheiterte... Gruß Christoph -- Christoph Maurer - http://www.christophmaurer.de mailto:[EMAIL PROTECTED] - Tux# 194235 -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
Hallo, Am Dienstag, 23. Sep 2003, 17:54:21 +0200 schrieb Michael Hierweck: > Hallo, (hoffentlich kein Doppelposting, aber das erste ist verschollen) > > ich finde leider keine sed-Kommando um folgendes zu erreichen. > > In einer Datei sollen ein Datum umformatiert werden, und zwar: > > "A","B","C","D","E","MMDD","G","H" > > soll zu > > "A","B","C","D","E","DD.MM.","G","H" > > werden. > [...], weil sed für mich ziemlich > unberechnbar Teilstrings den \n's zuordnet. Dies mag ein Grenzfall sein, was es einfacher ist, `sed', `perl' oder `python' zu lernen. Abermals ungetestet: ich habe bis heute nicht durchschaut, was `.*' wirklich macht; probier für das zwischen den Anführungszeichen mal: sed 's/"[^"]*",usf. Gruß Bertram -- Bertram Scharpf Stuttgart, Deutschland/Germany -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
On 23.Sep 2003 - 17:54:21, Michael Hierweck wrote: > Hallo, (hoffentlich kein Doppelposting, aber das erste ist verschollen) > > ich finde leider keine sed-Kommando um folgendes zu erreichen. > > In einer Datei sollen ein Datum umformatiert werden, und zwar: > > "A","B","C","D","E","MMDD","G","H" > > soll zu > > "A","B","C","D","E","DD.MM.","G","H" > > werden. > > Dabei sind die Inhalte der anderen Felder belibige Strings oder Zahlen. > Die Position des zu konvertierenden Feldes ist aber bekannt, hier z.B. > das 6. Feld. > > Ich habe das über sed -e's...' mit Hilfe eines \1\4\3\2\5-Konstrukts > hinzubekommen, aber ich scheitere, weil sed für mich ziemlich > unberechnbar Teilstrings den \n's zuordnet. Wie wäre denn Also wenn du in keinem der anderen noch 8 Zahlen hast wäre 's/"\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)"/"\3.\2.\1"/' Möglich. Ansonsten müsste: 's/\(\(".*",\)\{5\}\)"\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)"\(,.*\)/\1"\5.\4.\3"\6/' richtig sein. Sorry für die langen Zeilen. Andreas -- Das maximale Volumen subterraner Agrarproduktivität steht im reziproken Verhältnis zu der spirituellen Kapazität ihrer Erzeuger. -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: sed-Kommando gesucht
* Am Die, 23 Sep 2003 schrieb Michael Hierweck: > Hallo, (hoffentlich kein Doppelposting, aber das erste ist verschollen) > > ich finde leider keine sed-Kommando um folgendes zu erreichen. > > In einer Datei sollen ein Datum umformatiert werden, und zwar: > > "A","B","C","D","E","MMDD","G","H" > > soll zu > > "A","B","C","D","E","DD.MM.","G","H" > > werden. Vielleicht wäre so etwas besser mit awk zu lösen, wenn Du als Feldtrenner , verwendest und dann etwas mit der substr Funktion arbeitest... z.B. awk -F "," '{print $1","$2","$3","$4","$5",\""substr($6,8,2)"."substr($6,6,2)"."substr($6,2,4)"\","$7","$8;}' Gruß Christoph -- Christoph Maurer - http://www.christophmaurer.de mailto:[EMAIL PROTECTED] - Tux# 194235 -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
sed-Kommando gesucht
Hallo, (hoffentlich kein Doppelposting, aber das erste ist verschollen) ich finde leider keine sed-Kommando um folgendes zu erreichen. In einer Datei sollen ein Datum umformatiert werden, und zwar: "A","B","C","D","E","MMDD","G","H" soll zu "A","B","C","D","E","DD.MM.","G","H" werden. Dabei sind die Inhalte der anderen Felder belibige Strings oder Zahlen. Die Position des zu konvertierenden Feldes ist aber bekannt, hier z.B. das 6. Feld. Ich habe das über sed -e's...' mit Hilfe eines \1\4\3\2\5-Konstrukts hinzubekommen, aber ich scheitere, weil sed für mich ziemlich unberechnbar Teilstrings den \n's zuordnet. Danke für Tipps Michael -- Michael Hierweck http://www.hierweck.de -- Michael Hierweck EDV-Serviceteam http://www.edv-serviceteam.net -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)