首页 > 解决方案 > #!/bin/bash sed 将属性 /n 作为纯文本发送的问题

问题描述

我尝试替换其他文件上的一行(变量)。在这个变量上,我必须将换行符的 /n 作为纯文本放入,因为如果不是,程序将不会使用它。

我的尝试:

sv_desc='Testing \n Another Test \n Test again'
sed -i -e 11c "server.description \"$sv_desc\"" $HOME/dirtoFile

现在输出:

server.description "Another Test
Test again
Test"

我也尝试了“”,但输出相同....

我需要跟随输出(全部在一行中与\ n):

server.description "Testing \n Another Test \n Test again"

标签: linuxawksed

解决方案


您的新行字符需要使用额外的反斜杠进行转义

sv_desc='Testing \\n Another Test \\n Test again'
sed -i -e 11c "server.description \"$sv_desc\"" $HOME/dirtoFile

推荐阅读