brauche Hilfe bei regulären Ausdrücken

Post Reply
Message
Author
Tino

brauche Hilfe bei regulären Ausdrücken

#1 Post by Tino »

Hallo,
ich möchte in einem Bash-Script einen Text filtern/verändern, so das bei Zahlen der Art 123.001 oder 123.321.002 die Punkte herausgefiltert werden.
Kennt dazu jemand eine Lösung?

Danke
Tino

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#2 Post by jochen »

Die Aufgabenstellung ist noch nicht ganz klar, aber wenn die Zahlen in irgendeinem beliebigen Text stehen, kannst Du sie durch den sed jagen:

Code: Select all

sed 's/\&#40;&#91;0-9&#93;\&#41;\.\&#40;&#91;0-9&#93;\&#41;/\1\2/g' <datei-mit-zahlen-und-punkt.txt >datei-mit-zahlen-ohne-punkt.txt
Das "s" steht für substitute (Suchen & Ersetzen), der reguläre Ausdruck für "eine Ziffer, gefolgt von einem Punkt, gefolgt von einer Ziffer" und der Ersetzungstext für "die erste Ziffer gefolgt von der zweiten Ziffer". Dort wird der Punkt also einfach weggelassen. Statt Ein-/Ausgabeumlenkung kannst Du das Kommando so natürlich auch schön in eine Pipeline packen.

War's das, was Du suchtest? Ansonsten beschreibe Dein Problem noch mal genauer.

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Tino

#3 Post by Tino »

Hallo Jochen,
genau danach habe ich gesucht. :D
Reguläre Ausdrücke werde ich wahrscheinlich nie begreifen.
Danke für deine schnelle Hilfe.

Tino

Post Reply