In einer Datei ab einer bestimmten Zeile alles löschen und andere Datei einfügen

Datum: 2004-09-11
Quelle: suse-linux

Worum ging es?

Aus einer Datei sollen alle Zeilen nach ### channel definitions for zapdvb gelöscht werden und stattdessen der Inhalt einer anderen Datei angehängt werden.

Code
awk ' { print $0; }
  /^### channel definitions for zapdvb/ {
  system ("cat /path/to/other/file"); exit; }
   ' zapdvb.conf \
  >zapdvb.tmp && mv zapdvb.tmp zapdvb.conf
Beschreibung

Der awk liest die Eingangsdatei und gibt jede Zeile wieder aus. Wenn er das gesuchte Muster findet, gibt er per system den Inhalt der anzuhängenden Datei aus und beendet sich dann. Die awk-Ausgabe wird in eine temporäre Datei umgeleitet und diese dann in die Originaldatei umbenannt.