Bernd Tannenbaum <tannenbaum@service.itenos.de>:
Ich möchte ans Ende einer jeden Zeile einer datei etwas anfügen. sed -e /muster/a\text datei1 > datei2 Die shell meldet: sed: -e expression #1, char 8: Extra characters after command bei mir nicht :-)
sed -e'/vollmer/a\abc' /etc/passwd das fügt nach der Zeile mit "vollmer" eine _neue_ Zeile mit Inhalt abc an. Das a Kommando macht also nicht das gewünschte. Ans Ende der Zeile was anfügen: sed -e's/^\(vollmer.*$\)/\1abc/' /etc/passwd ------------|-------| == Zeile, die mit 'vollmer' beginnt \1 im Ersetzungstext referenziert auf den Inhalt der ersten öffenden Klammer \( \2 auf die zweite usw: s/\(abc\(.*\)\) \1 == abc, \2 == was auf .* passt Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 juergen.vollmer@[informatik-vollmer.de|alumni.uni-karlsruhe.de|acm.org] www.informatik-vollmer.de