awk oder so
Martin Werthmoeller
mw at lw-systems.de
Die Jan 16 17:13:45 GMT 2007
Am Tue, 16 Jan 2007 um 12:15 GMT +0100 schrieb Dominik P.H. Kalisch:
> Hallo Martin,
>
Hallo Dominik,
> vielen Dank für den Hinweis, hat gut funktioniert.
>
> Allerdings versuche ich mich gerade an einen weiteren Ausdruck, der nicht so
> recht funktionieren will. Ich will zwei Zeilenumbrüche, also eine Leerzeile
> nach dem Ausdruck <a [dann beliebig viele Zeichen bis] <i> einfügen, aber
> mein Befehl will nicht so recht :(
>
> perl -pi.ORG -e 's/(<a\D+<i>)/$1<neu>/g' add2.csv
>
\D ist ein non-digit character (s.a. die Manpage von perlre).
> Was mach ich denn hier Falsch?
Du musst die <,> maskieren, also s/(\<a\D+\<i\>)/$1<neu>/g
>
> Und damit ich nicht immer Fragen und nerven muß, gibt es ein gutes Buch oder
> Internetseite für Perl und/oder Reguläre Ausdrücke?
>
Falls Du generell programmieren kannst, ist IMHO das Camel-Book
(Programmieren in Perl) zu empfehlen. Zu regulären Ausdrücken gibt es bei
O'Reilly ein eigenes Buch. Darin wird auch generell erklärt, wie eine
reguläre Maschine arbeitet, so dass das ganze leichter verständlich ist.
Das Buch der regulären Ausdrücke gab es vor einigen Jahren mal bei einem
dieser Buch-Restbestands-Verramscher.
Ansonsten gibt es mehrere man-Pages über das Thema:
perlre (1) - Perl regular expressions
perlrequick (1) - Perl regular expressions quick start
perlreref (1) - Perl Regular Expressions Reference
perlretut (1) - Perl regular expressions tutorial
Viele Grüße,
Martin Werthmöller
--
LWsystems GmbH & Co. KG * Ihr Spezialist für Linux und Open Source Software
mw at lw-systems.de * http://lw-systems.de