Hullos, Am Donnerstag, 31. Juli 2003 11:52 schrieb Jürgen Vollmer:
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 :-)
Seltsam, Seltsam. habs grad nochmal mit deinem Kommand probiert. Dieselbe Fehlermeldung.
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.
okay, das stand so nich beschrieben. thx für die Info, dann werd ich wohl mit "s" arbeiten müssen.
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
werd damit experimentieren, thx. Bernd -- One OS to rule them all, one OS to find them. One OS to bring them all, and in the darkness bind them In the land of Redmond, where the shadows lie.