Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Shell-Programmierung von Jürgen Wolf
Einführung, Praxis, Referenz
Buch: Shell-Programmierung

Shell-Programmierung
782 S., mit CD, 44,90 Euro
Rheinwerk Computing
ISBN 3-89842-683-1
gp Kapitel 12 Der Stream-Editor sed
  gp 12.1 Funktions- und Anwendungsweise von sed
    gp 12.1.1 Wohin mit der Ausgabe?
  gp 12.2 Der sed-Befehl
  gp 12.3 Adressen
  gp 12.4 Kommandos, Substitutionsflags und Optionen von sed
    gp 12.4.1 Das a-Kommando – Zeile(n) anfügen
    gp 12.4.2 Das c-Kommando – Zeilen ersetzen
    gp 12.4.3 Das d-Kommando – Zeilen löschen
    gp 12.4.4 Die Kommandos h, H, g, G und x – Arbeiten mit den Puffern
    gp 12.4.5 Das Kommando i – Einfügen von Zeilen
    gp 12.4.6 Das p-Kommando – Patternspace ausgeben
    gp 12.4.7 Das Kommando q – Beenden
    gp 12.4.8 Die Kommandos r und w
    gp 12.4.9 Das Kommando s – substitute
    gp 12.4.10 Das Kommando y
  gp 12.5 sed-Scripts


Rheinwerk Computing

12.3 Adressetoptop

Adressen sind, wie eben erwähnt, entweder fixe Zeilen, ganze Bereiche oder aber Zeilen, die auf einen bestimmten regulären Ausdruck passen. Hier einige Beispiele, wie Sie bestimmte Adressen definieren und welche Zeilen Sie damit selektieren. Zur Demonstration wird immer die Option –n verwendet, mit der Sie den Default-Output von sed abschalten, und das Kommando p, mit dem Sie die selektierte(n) Zeile(n) auf dem Bildschirm ausgeben lassen können.

Nur die vierte Zeile der Datei file.dat selektieren und ausgeben:

you@host > sed -n '4p' file.dat

Die Zeilen 4, 5, 6 und 7 aus der Datei file.dat selektieren und ausgeben. Geben Sie für die »bis«-Adresse einen niedrigeren Wert an als für die »von«-Adresse, so wird dieser Wert ignoriert:

you@host > sed -n '4,7p' file.dat

Hiermit werden alle Zeilen von Zeile 4 bis zum Ende der Datei ausgegeben – das Dollarzeichen steht für die letzte Zeile:

you@host > sed -n '4,$p' file.dat

Damit werden alle Zeilen selektiert, in denen sich das Wort »wort« befindet und ausgegeben:

you@host > sed -n '/wort/p' file.dat

Hier werden alle Zeilen ausgegeben, welche die Zeichenfolge »197« und eine beliebige Zahl von 0 bis 9 enthalten (1970, 1971 ... 1979):

you@host > sed -n '/197[0–9]/p' file.dat

Neben den Möglichkeiten

[Adresse1, Adresse2]Kommando

und

[Adresse]Kommando

gibt es auch noch eine dritte Möglichkeit, wie Sie Adressen angeben können. Man kann nämlich durch die Verwendung von geschweiften Klammern mehrere Kommandos zusammenfassen:

Adresse{
   Kommando1
   Kommando2
}

Oder auch als Einzeiler:

Adresse{ Kommando1 ;  Kommando2 ; ... }

Bspw.:

you@host > sed -n '1{p ; s/USA/ASU/g ; p }' mrolympia.dat
Larry Scott USA 1965 1966
Larry Scott ASU 1965 1966

Hiermit bearbeiten Sie die erste Zeile der Datei mrolympia.dat. Zuerst geben Sie diese Zeile aus, anschließend führen Sie mit s/.../.../g eine globale (g) Ersetzung mittels s (substitute) der Zeichenfolge »USA« durch »ASU« durch und geben daraufhin diese Zeile (ggf. verändert) nochmals aus. Natürlich können Sie eine solche Ersetzung auch ohne Angabe einer Adresse auf die ganze Datei machen:

you@host > sed -n '{/USA/p ; s/USA/ASU/g ; /ASU/p }' mrolympia.dat

Da hierbei keine direkte Adressierung verwendet wird, können Sie das Ganze auch gleich ohne geschweifte Klammern machen:

you@host > sed -n '/USA/p ; s/USA/ASU/g ; /ASU/p' mrolympia.dat

Natürlich können Sie auch mit den geschweiften Klammern einen Adressbereich verwenden:

you@host > sed -n '1,5{/USA/p ; s/USA/ASU/g ; /ASU/p }' \
> mrolympia.dat

Hierbei wurden die Zeilen 1 bis 5 zusammengefasst, um alle Kommandos in den geschweiften Klammern darauf auszuführen.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Shell-Programmierung
Shell-Programmierung
bestellen
 Buchtipps
Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-Programmierung


Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern