prog zum ersetzen von zeichenketten in textdateien
![](https://seccdn.libravatar.org/avatar/693daf506302e8c4f634507482cbc177.jpg?s=120&d=mm&r=g)
Hallo zusammen! Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann? mit "grep" hab ich es nicht geschafft, die gefundenen zeichenketten zu ersetzten. Ein Beispiel, was ich machen möchte (alles auf bash-ebene): die Zeichenkette "name@e-mail.de" soll ersetzt werden durch: "<A href='name@e-mail.de'>name@e-mail.de</A>" wobei das ganze auch noch dynamisch sein muss ! " *@*.* " soll somit ersetzt werden durch "<A href='*@*.*'>*@*.*</A>" mit einem perl-script könnte ich das wohl hinbiegen, aber warum das rad nochmal neu erfinden, wenn es sowas schon gibt. Danke für Euere Mühe und Hilfe. Gruß Thomas -- thomas foecking mail@thomas-foecking.de http://www.foecking.de have a lot of fun ;-)
![](https://seccdn.libravatar.org/avatar/018174984f394cb4e870d590a0603d37.jpg?s=120&d=mm&r=g)
Thomas Föcking wrote:
Hallo zusammen!
Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann? mit "grep" hab ich es nicht geschafft, die gefundenen zeichenketten zu ersetzten. Ein Beispiel, was ich machen möchte (alles auf bash-ebene): die Zeichenkette "name@e-mail.de" soll ersetzt werden durch: "<A href='name@e-mail.de'>name@e-mail.de</A>" wobei das ganze auch noch dynamisch sein muss ! " *@*.* " soll somit ersetzt werden durch "<A href='*@*.*'>*@*.*</A>"
Der sed kann das und ist bei jedem Unix dabei. Ist aber etwas kryptisch. -- _, Regards, (_ ,_)ven Hansen. +-------------------------------------------------------+ | Sven Hansen Celo Communications GmbH | | Dipl.-Chem. Weissenfelser Strasse 46a | | Senior Software Engineer D-06217 Merseburg | | mailto:sh@celocom.de http://www.celocom.de/ | | Phone: +49 (0)3461/3318-24 Fax: +49 (0)3461/415072 | +-------------------------------------------------------+ Unix _IS_ user friendly - it's just selective about who its friends are !
![](https://seccdn.libravatar.org/avatar/d2227c89bcd855015aae15c4681f55ea.jpg?s=120&d=mm&r=g)
Am Fre, 23 Feb 2001 schrieb Thomas Föcking:
Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann?
Ein klassischer Fall für sed, oder auch awk. Kryptisch? Klar, man braucht (und will haben): <HORROR>regulaere Ausdruecke<\HORROR> man sed man awk man regex Viel Spass, Stefan -- ______________________________________________________________________ Stefan Brill, Center for Auditory Prosthesis Research, RTI ______________________________________________________________________
![](https://seccdn.libravatar.org/avatar/9926ebc7a56d260063e1b7c4a79e1a0b.jpg?s=120&d=mm&r=g)
On Fre, 23 Feb 2001, Stefan Brill wrote:
Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann?
Ein klassischer Fall für sed, oder auch awk. Kryptisch? Klar, man braucht (und will haben): <HORROR>regulaere Ausdruecke<\HORROR>
man sed man awk man regex
oder gleich richtig: Learning Perl in 2 hours.... http://www.cclabs.missouri.edu/things/instruction/perl/perlshow.html Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 J. Henner & A. Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Consulting & Support | http://lihas.de
![](https://seccdn.libravatar.org/avatar/ec33c9849de6f3db4f3b1f7f464b958d.jpg?s=120&d=mm&r=g)
Hallo Thomas,
* Thomas Föcking
Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann?
sed Siehe auch 'man sed' cu flo --
Verarschen kann ich mich selbst. Dann tu das und erspar uns/ihm dir arbeit :-) [Michael Hoffmann und Sebastian Posner in dag°]
![](https://seccdn.libravatar.org/avatar/7b33cb1e776e35b87edb8ef09f0c888f.jpg?s=120&d=mm&r=g)
Hallo, On Fre, 23 Feb 2001, Thomas Föcking wrote:
Kennt jemand von Euch ein Tool (vielleicht ist es ja schon bei SuSE dabei), mit dem man bestimmte zeichenketten in einer textdatei mit einer anderen ersetzten kann?
man sed, evtl. info sed zusammen mit man 7 regex.
Ein Beispiel, was ich machen möchte (alles auf bash-ebene): die Zeichenkette "name@e-mail.de" soll ersetzt werden durch: "<A href='name@e-mail.de'>name@e-mail.de</A>" wobei das ganze auch noch dynamisch sein muss ! " *@*.* " soll somit ersetzt werden durch "<A href='*@*.*'>*@*.*</A>"
Als Beispiel (eine Zeile): sed 's%\([[:alnum:].-]*@[[:alnum:].-]*\.[[:alnum:]]*\)% <a href="mailto:\1">\1</a>%g' < EINGABEDATEI > AUSGABEDATEI Wobei EINGABEDATEI und AUSGABEDATEI verschieden sein muessen, da sed Zeilenweise arbeitet und du danach eine leere Datei haettest. Ausserdem kann man mit sed keine Muster, die ueber mehrere Zeilen gehen, ersetzen. Dafuer gibt's dann awk und perl. Hint: Die / in bei sed's s-Befehl duerfen durch andere Zeichen ersetzt werden (also statt s/// geht auch s%%% oder s¡¡¡). Das sollte beim auseinanderklamuesern helfen. Ach ja, noch ein Hinweis: Stichwort 'character class' in man 7 regex. CU David -- 10: strukturiert dieses Programm besteht aus mehreren Funktionen (Kristian Köhntopp)
![](https://seccdn.libravatar.org/avatar/e8efd891fc055d9843fcbb18465143dc.jpg?s=120&d=mm&r=g)
On Fri, 23 Feb 2001 at 19:21 +0100, David Haller wrote:
ersetzt werden (also statt s/// geht auch s%%% oder s¡¡¡). Das ^^^
Was sind das für Zeichen?? Gruß, Bernhard -- Du möchtest den Netscape Messenger von Windows und Linux aus verwenden und dabei die gleichen Mails / Einstellungen haben. Dann solltest Du das lesen: http://members.tripod.de/linuxinfo/tipps/netscape_share.shtml ******************** Gnu PGP-Key: DDAF6454 * Tux# 171705 * ICQ# 98361051
![](https://seccdn.libravatar.org/avatar/7b33cb1e776e35b87edb8ef09f0c888f.jpg?s=120&d=mm&r=g)
¡Hola Bernardo! On Fre, 23 Feb 2001, Bernhard Walle wrote:
On Fri, 23 Feb 2001 at 19:21 +0100, David Haller wrote:
ersetzt werden (also statt s/// geht auch s%%% oder s¡¡¡). Das ^^^ Was sind das für Zeichen??
¿Tu habla español? ¿No? ¡Yay! Hast du deine Asterix nicht gelesen? *SCNR* Die '¡' haben den Vorteil praktisch nicht in (deutschen oder englischen) zu sed-denden Dateien vorzukommen und sind aehnlich gut zu lesen/erkennen wie z.B. '|'. Auch gut geeignet sind z.B. '¯' und '§', '¶'. man latin1. CU David -- Failure is not an option. It comes bundled with your Microsoft product.
![](https://seccdn.libravatar.org/avatar/e8efd891fc055d9843fcbb18465143dc.jpg?s=120&d=mm&r=g)
Hallo, On Fri, 23 Feb 2001 at 23:39 +0100, David Haller wrote:
¡Hola Bernardo!
*g*
On Fre, 23 Feb 2001, Bernhard Walle wrote:
On Fri, 23 Feb 2001 at 19:21 +0100, David Haller wrote:
ersetzt werden (also statt s/// geht auch s%%% oder s¡¡¡). Das ^^^ Was sind das für Zeichen??
¿Tu habla español? ¿No? ¡Yay!
In dem Zusammenhang kenne ich die Zeichen schon. Nur kenne ich sie nur gedruckt und nicht in einem Monospaced-Xterm-Font und eben auch nur im Zusammenhang. Alleine stehend sehen sie schon etwas komisch aus ;-)
Die '¡' haben den Vorteil praktisch nicht in (deutschen oder englischen) zu sed-denden Dateien vorzukommen und sind aehnlich gut zu lesen/erkennen wie z.B. '|'. Auch gut geeignet sind z.B. '¯' und '§', '¶'. man latin1. ^ Blöde Frage: Für was sind die | Zeichen gut und wie erzeugt man sie?
¡ geht mit Compose-!-! und ¿ geht mit Compose-?-?. Gruß, Bernhard -- Bitte die Etikette der Liste beachten. Diese enthält nützliche Regeln für den Umgang mit der Liste. http://home.t-online.de/~f.walle/etikette.html ******************** Gnu PGP-Key: DDAF6454 * Tux# 171705 * ICQ# 98361051
![](https://seccdn.libravatar.org/avatar/7b33cb1e776e35b87edb8ef09f0c888f.jpg?s=120&d=mm&r=g)
Hallo, On Sam, 24 Feb 2001, Bernhard Walle wrote:
On Fri, 23 Feb 2001 at 23:39 +0100, David Haller wrote:
Die '¡' haben den Vorteil praktisch nicht in (deutschen oder englischen) zu sed-denden Dateien vorzukommen und sind aehnlich gut zu lesen/erkennen wie z.B. '|'. Auch gut geeignet sind z.B. '¯' und '§', '¶'. man latin1. ^ Blöde Frage: Für was sind die | Zeichen gut und wie erzeugt man sie?
Das ¯ nennt man macron und gehoert IIRC z.B. ueber ein griech. omikron oder auch das erste o in Tokio. Und es kommt IIRC auch in Osteuropa vor. Genaues weiss ich jetzt aber nicht. Erzeugen tu ich's mit [Win]+ [-] (die mit ß beschriftete Taste) neben der [0] oder mit [Win]+[shift]+[¨] (die mit < beschriftete) unterm [a] ;) Ah. Grad getestet: [Compose] [-] [-]
¡ geht mit Compose-!-! und ¿ geht mit Compose-?-?.
Geht hier auch. Wat? [Win]+[/] und [Win]+[shift]+[/] (Taste [-] rechts von [.]) *g* Tja. Ich sach nur ~/.Xmodmap. Ich habe glaub alle Zeichen aus latin1 die keine mit normalen Akzenten ('`¨~) sind ohne Compose erreichbar. Hm. Die Compose Version fuer ® finde ich jetzt nicht ;) Ah doch: R-O. CU David, fup2poster/suse-talk. -- 142: Microsofties ferngesteuerte Marketingdroiden, die immer nur "München" und "Amerika" murmeln können, wenns kompliziert wird. (Martin Schmitt)
participants (7)
-
Bernhard Walle
-
David Haller
-
Florian Gross
-
Joerg Henner
-
Stefan Brill
-
Sven Hansen
-
Thomas Föcking