Json 用双反斜杠n(\\n)替换换行符(\n)
我需要发送一个以换行符作为JSON参数的字符串<代码>\n导致错误,需要编码为Json 用双反斜杠n(\\n)替换换行符(\n),json,linux,bash,ubuntu,Json,Linux,Bash,Ubuntu,我需要发送一个以换行符作为JSON参数的字符串\n导致错误,需要编码为\\n 如何将linux中纯bash脚本中的\n替换为\\n?使用参数扩展: line='\n' line=${line/\\n/\\\\n} 使用引号可能更具可读性: r=${line/'\n'/'\\n'} 如果要替换所有引用,请将第一个斜杠加倍: r=${line//'\n'/'\\n'} # ^^ 如果要将(新行)替换为\n,请尝试以下操作: sed ':a;N;$!ba;s/\n/\\n/g' 例
\\n
如何将linux中纯bash脚本中的
\n
替换为\\n
?使用参数扩展:
line='\n'
line=${line/\\n/\\\\n}
使用引号可能更具可读性:
r=${line/'\n'/'\\n'}
如果要替换所有引用,请将第一个斜杠加倍:
r=${line//'\n'/'\\n'}
# ^^
如果要将(新行)替换为\n,请尝试以下操作:
sed ':a;N;$!ba;s/\n/\\n/g'
例:
这将
n
替换为\n
。需要更多的反斜杠。@Wintermute:我的错。Fixed.OP可能希望替换所有事件。因此,最好使用line=${line/\\n/\\\\n}
同样的方法,将${foo/$'\n'/'\\n'}
用于文字换行,而不是\n
。从这个问题上我不能完全确定OP想要哪一个。但如果我们还没有做到,我们就可以做到,所以1up。一个json条目示例将非常有用。是\n原始字符串还是换行符?
$ echo -e "a\nb\nc" | sed ':a;N;$!ba;s/\n/\\n/g'
a\nb\nc