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","YYYYMMDD","G","H"
> 
> soll zu
> 
> "A","B","C","D","E","DD.MM.YYYY","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)

Antwort per Email an