Verwenden von sed zum Ersetzen einer Zeile durch eine mehrzeilige Variable in ksh

1074
Manda

Ich habe den folgenden Text in einer Datei:

XXXX

NNNN

JJJJ

NNNN

ZZZZ

NNNN

Ich möchte das NNNN ersetzen, damit es so aussieht:

XXXX

NNNN

PFLICHTPROGASTER:

JJJJ

NNNN

PFLICHTPROGASTER:

ZZZZ

NNNN

PFLICHTPROGASTER:

Wie verwende ich sed, um eine Variable durch mehr als eine Zeile zu ersetzen? Gibt es einen besseren Weg, dies ohne sed zu tun?

Ich habe folgendes erfolglos versucht:

sed 's / NNNN / "$ value1" / g' Testdatei

sed 's / NNNN /' "$ value1" '/ g' Testdatei

sed 's / NNNN / $ / g' Testdatei

sed 's / NNNN /' "$ " '/ g' Testdatei

Ich habe auch alles in Anführungszeichen versucht. Jede Hilfe wird sehr geschätzt. Vielen Dank!

1

1 Antwort auf die Frage

1
h.j.k.
$ value1="DUTY FORECASTER:" $ echo -e 'abc\ndef\nghi\ndef\n' | sed "s/def/def\n$value1/g" abc def DUTY FORECASTER: ghi def DUTY FORECASTER: 
Es funktioniert perfekt! Vielen herzlichen Dank! Yippie! Manda vor 9 Jahren 0