我想使用sed在文件中的目标行上方插入多行。
下面的file.txt
包含一行“target line
”。我最初的版本使用的是单引号:
sed '/target line/ i
inserted line1;
inserted line2;
inserted line3;' file.txt
结果是:
inserted line1;
inserted line2;
inserted line3;
target line
此版本的工作方式与预期一样,即每行末尾的换行符由\
转义为文字换行符,而不是命令终止符。请参阅here。
然后我想在替换字符串中使用外壳变量,所以我尝试使用双引号来启用变量扩展:
sed "/target line/ i
inserted line1;
inserted line2;
inserted line3;" file.txt
但这一次换行符和前四个空格消失了:
inserted line1; inserted line2; inserted line3;
target line
如何在此处正确地插入双引号中的换行符?
暂无答案!
目前还没有任何答案,快来回答吧!