Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
sed - s/ / /g und das öfters

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
LBS
Gast





BeitragVerfasst am: 04. Jan 2002 9:11   Titel: sed - s/ / /g und das öfters

Hallo,

habe folgendes problem,

in einem shell-skript (und es muß shell sein) muß ich in einer Datei zwei zeilen ändern.
Also hab ich mir gedacht ich nehm den sed und mache ein s/bla/blabla/g. Soweit funzt es auch. Allerdings möchte ich ja zwei verschiedene Zeilen ändern und zweimal substitue im sed geht anscheinend auch net. Ich könnte zwar ein temporäre datei erzeugen und danach darauf auch wieder einen sed aber das ist irgendwie unschön.

Hat jemand eine Idee wie man es besser lösen kann, ein blick in die man hat mir nicht wirklich weitergeholfen.

Danke

cu
 

Jochen
Gast





BeitragVerfasst am: 04. Jan 2002 14:13   Titel: Re: sed - s/ / /g und das öfters

Och, ganz einfach:
code:
sed -e 's/erstes muster/erster ersatz/g' -e 's/zweites muster/zweiter ersatz/g' inputfile > outputfile
Das "-e 'command'" kann man einfach mehrfach angeben.

Jochen
 

andib



Anmeldungsdatum: 20.06.2000
Beiträge: 277
Wohnort: Dortmund

BeitragVerfasst am: 04. Jan 2002 20:13   Titel: Re: sed - s/ / /g und das öfters

Dazu hab ich jetzt auch mal ne Frage: wenn ich innerhalb einer Datei etwas ändern möchte, ohne deren Dateinamen zu ändern, muss ich dann perl und Konsorten nehemn oder geht das irgendwie direkt mit sed?
Also etwas wie
perl -pi -e "s/foo/bar/g" dateiname
?

Gibt es vielleicht ne schnellere Lösung (von der Programmlaufzeit her) als diese?

CU
Andi
 
Benutzer-Profile anzeigen Private Nachricht senden

Jochen
Gast





BeitragVerfasst am: 05. Jan 2002 13:48   Titel: Re: sed - s/ / /g und das öfters

@Andi:

Nein, mir ist zumindest keine andere Lösung dazu bekannt. sed(1) ist ein Stream-Editor, d.h. er liest aus stdin oder Datei und schreibt nach stdout. Man darf aber die Standard-Ausgabe nicht direkt auf die Eingabedatei umleiten, da diese dann vor Aufruf des Kommandos von der Shell zum Schreiben geöffnet wird und daher 0 Bytes gross gemacht wird...

Der perl-Aufruf ist die einzige mir bekkante Art, Dateien in-place skriptgesteuert zu ändern, ohne die Datei umzukopieren.

Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy