Andre Tann wrote:
ich müßte folgendes durchführen:
~ cat /pfad/datei
#!/bin/bash [Unbestimmte Anzahl von Zeilen] # Zeile mit einem bestimmten, eindeutigen Kommentar Zu löschende Zeile1 Zu löschende Zeile2 Zu löschende Zeile3 [Rest des Skriptes]
Wie kann ich die Zeile mit dem Kommentar suchen, und die genau 3 zu löschenden / zu ersetzenden Zeilen ausschneiden? Am Schluß soll das so aussehen:
~ cat /pfad/datei
#!/bin/bash [Unbestimmte Anzahl von Zeilen] # Zeile mit einem bestimmten, eindeutigen Kommentar [Genau eine neue Zeile] [Rest des Skriptes]
Danke für Hinweise!
$> cat datei #!/bin/bash aaa bbb ccc # Kommentar loesche 1 loesche 2 loesche 3 ddd eee fff # Kommentar loesche 4 loesche 5 loesche 6 ggg hhh iii $> awk '{print}; /Kommentar/ {getline; getline; getline; print "eingefuegt"}' datei #!/bin/bash aaa bbb ccc # Kommentar eingefuegt ddd eee fff # Kommentar eingefuegt ggg hhh iii Erklaerung: awk liest die Datei zeilenweise ein, jede Zeile wird wieder ausgegeben (das erste print). Trifft awk auf eine Zeile, die "Kommentar" enthaelt, so werden die naechsten drei Zeilen eingelesen aber nicht ausgegeben, dann kommt stattdessen der Ersatztext (das zweite print). That's all. HTH, Thomas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org