Archiv verlassen und diese Seite im Standarddesign anzeigen : Adressen filtern spezieller Fall
tibrandt
23-05-2007, 15:43
Hallo, vielleicht kann mir jemand helfen:
Ich habe Adressenlisten in der Art
Herr Musterman
Musterstraßet25
53262 Musterstadt
.
Herr...
.
In der Straßenbezeichnung habe ich vor der Hausnummer immer ein kleines "t" drinne.
Wie bekomme ich das mit einem Bash-Skript sauber raus.
Der Straßenname kann auch die Form habe:
Muster Str.t1
MusterStr.t44
Muster Landstraße t45
Das kleine "t" steht immer vor der Hausnummer.
Danke für Eure Hilfe!
MfG
tibrandt
anda_skoa
23-05-2007, 17:50
Raus im Sinne von durch ein Leerzeichen ersetzen?
sed -e "s#t\([0-9]\+\)\$# \1#g"
t gefolgt von mindestem einen aber auch mehreren Ziffern am Ende einer Zeile
Ciao,
_
Raus im Sinne von durch ein Leerzeichen ersetzen?
sed -e "s#t\([0-9]\+\)\$# \1#g"
t gefolgt von mindestem einen aber auch mehreren Ziffern am Ende einer Zeile
Ciao,
_
Nur eine kleine Bemerkung zum sed: Ich würde (wenn ich nicht gerade eine Shell-Variable im sed benutze) immer mit ' statt " quoten - so hinderst Du die Shell daran, alles was ein $ vornweg hat interpretieren zu wollen. Spart nen \ und allgemein eine Menge Rätselraten. Das #g am Ende ist in diesem Fall überflüssig - es gibt immer nur einen Ausdruck, der bis zum Zeilenende matcht. Ähm - und was soll die -e Option hier?
Hier noch eine Version für Leute, die wie ich in "Musterstraße 25a" wohnen:
sed -r 's/t([0-9]+[a-zA-Z]?)$/ \1/'
Es gibt noch ein paar andere Besonderheiten in Adressen - mein Bruder wohnt z. B. in "Straße 47/11" - aber dann wäre zumindest für mich die Zeit reif für ein kleines Perl-Script - lieber ein paar Zeilen mehr als reguläre Ausdrücke, die kein Mensch mehr versteht - dann lieber ein Programm, das niemand mehr versteht ;-)
Jan
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.