我在文件中有以下文本:
XXXX
NNNN
YYYY
NNNN
ZZZZ
NNNN
我想替换 NNNN 使其看起来像这样:
XXXX
NNNN
DUTY FORECASTER:
YYYY
NNNN
DUTY FORECASTER:
ZZZZ
NNNN
DUTY FORECASTER:
如何使用 sed 用多行替换变量?有没有更好的方法可以不使用 sed 来做到这一点?
我尝试了以下方法,无论是否使用双引号,都无济于事:
sed 's/NNNN/"$value1"/g' testfile
sed 's/NNNN/'"$value1"'/g' testfile
sed 's/NNNN/${value1}/g' testfile
sed 's/NNNN/'"${value1}"'/g' testfile
答案1
$ 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: