Bestimmte Zeichenfolge löschen und ersetzen!

Post Reply
Message
Author
czadra
Posts: 7
Joined: 19. Aug 2000 18:22
Contact:

Bestimmte Zeichenfolge löschen und ersetzen!

#1 Post by czadra »

Hi

Ich will eine Datei nach einem bestimmten Wort durchsuchen und dieses ersetzen durch ein anderes. Wie kann man das am besten machen... mit grep kann man ja nur suchen oder? und wie kan ich danach das ganze editieren?

Jochen

Re: Bestimmte Zeichenfolge löschen und ersetzen!

#2 Post by Jochen »

sed. Wenn Du das ganze im vi machen kannst, hast Du mit sed schon gewonnen:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
sed 's/zu-suchende-zeichenkette/ersatz-text/g' meine-datei >neue-datei-mit-ersetztem-text
</font><hr></pre></blockquote>
Zu beachten ist natürlich, dass "zu-suchende-zeichenkette" ein regulärer Ausdruck ist. Du solltest also wissen, dass ein "." für ein beliebiges Zeichen steht, "*" nicht das macht, was Du in der Shell erwartest usw.

Ansonsten genau das Programm für Deinen Zweck.

Jochen

czadra
Posts: 7
Joined: 19. Aug 2000 18:22
Contact:

Re: Bestimmte Zeichenfolge löschen und ersetzen!

#3 Post by czadra »

Danke... es hat funktioniert!!
Last edited by czadra on 24. Sep 2001 10:47, edited 1 time in total.
Parallax Radio - http://www.theparallax.com/radio

Themen: Privatsphäre im Internet und P3P

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Bestimmte Zeichenfolge löschen und ersetzen!

#4 Post by bakunin »

Hi!

Noch ein kleiner Tipp dazu:

Wenn man keine Kopie der Datei anlegen will, sondern den Text direkt in der Datei ändern (oder gar in mehreren Dateien), ist

perl -pi -e 's/text/ersatztext/g' datei(en)

wohl die einfachste Lösung.

Cheers,
GNU/Wolfgang

cd
Posts: 114
Joined: 19. Dec 2000 21:04

Re: Bestimmte Zeichenfolge löschen und ersetzen!

#5 Post by cd »

oder per sed/s/alt/neu/g datei > /tmp/0815;mv /tmp/0815 datei

cd
Posts: 114
Joined: 19. Dec 2000 21:04

Re: Bestimmte Zeichenfolge löschen und ersetzen!

#6 Post by cd »

oder per sed/s/alt/neu/g datei > /tmp/0815;mv /tmp/0815 datei

Post Reply