shortrange
Banned
- Registriert
- Okt. 2013
- Beiträge
- 626
Hallo zusammen,
ich versuche einem großen Textdokument verschiedene Zeichenketten durch andere Zeichenketten automatisiert ersetzen zu lassen.
Aktuell geht es um das Datumsformat bzw. die Schreibweise eines Datums. Das Datum ist aktuell noch in der Form "01. Januar" und soll in die Form "1. Januar" gebracht werden. Also die führende Null soll bei einstelligen Tagen entfernt werden.
Zuerst wollte ich mir mit grep einen Überblick machen:
Das funktioniert wunderbar, alles wird passend ausgegeben.
Nun geht es um das Ersetzen, wozu ich bisher versucht habe, folgenden sed-Befehl zu verwenden (hier am Beispiel des 3. Septembers):
Folgender Befehl wird ausgegeben:
Das erste "blank" scheint zu funktionieren, sonst würde er ja die Stelle im Text nicht finden. Jedoch wird das zweite "blank" nicht als Leerzeichen eingebaut. Woran liegt das?
Was kann ich noch ändern, damit der Befehl nicht nur den 3. September ändert sondern jede führende Null bei der Datumsangabe?
ich versuche einem großen Textdokument verschiedene Zeichenketten durch andere Zeichenketten automatisiert ersetzen zu lassen.
Aktuell geht es um das Datumsformat bzw. die Schreibweise eines Datums. Das Datum ist aktuell noch in der Form "01. Januar" und soll in die Form "1. Januar" gebracht werden. Also die führende Null soll bei einstelligen Tagen entfernt werden.
Zuerst wollte ich mir mit grep einen Überblick machen:
Code:
grep -E "0[1-9]\.[[:blank:]](Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)" content.txt
Nun geht es um das Ersetzen, wozu ich bisher versucht habe, folgenden sed-Befehl zu verwenden (hier am Beispiel des 3. Septembers):
Code:
sed s/03\.[[:blank:]]September/3\.[[:blank:]]September/g content.txt
Code:
3.[[:blank:]]September 2003
Was kann ich noch ändern, damit der Befehl nicht nur den 3. September ändert sondern jede führende Null bei der Datumsangabe?