Hallo, Am Wed, 16 Nov 2005, Raffael Schmid schrieb:
Wie kann ich eine gewisse Zeile aus einem Shellscript löschen?
Was ist eine gewisse Zeile? Eine bekannte Zeilennummer? Eine Zeile mit einer bestimmten Zeichenkette? sed -e '4d' # loescht Zeile Nr. 4 sed -e '4,6d' # loescht Zeilen Nr. 4 bis Nr. 6 inkl. sed -e '/REGEX/d' # loescht alle Zeilen, auf die REGEX passt sed -e '/REGEXA/,/REGEXB/d' # loescht alle Zeilen, von jew. einer # Zeile REGEXA bis zur naechsten Zeile REGEXB
Und wie kann ich eine Zeile an einem gewissen Ort einfügen?
sed -e '4i\ Hier dein Text'
Das Einfügen habe ich auch ein bischen ausprobiert:
$ sed -e '1,4d' -e '1,1i\test-test' test-file ^hier fehlt ein Zeilenumbruch!
sed -e '4i\ test-test' test-file Austauschen ist der Befehl 'c' (fuer "change"): Ersetze Zeilen 2-5 durch "bla": sed -e '2,5c\ bla'
Es ist eigentlich das was ich erwartet habe... aber ich verstehe die Syntax nicht!
Lesen. Ausprobieren. Such mal im Archiv dieser ML (u.a. Mails von mir), bei SelfLinux...
Warum muss ich '1,1i\test-test' schreiben? Warum dieses 1,1 ??
Das ist eine Adresse fuer den folgende Befehl 'i'. RTFM: man sed -dnh -- "Funny. Just when you think life can't get any worse, it suddenly does." -- Marvin