Regex 替换换行符转义'\n';使用转义换行符转义'\\n';使用sed

Regex 替换换行符转义'\n';使用转义换行符转义'\\n';使用sed,regex,bash,sed,Regex,Bash,Sed,我试图使用sed将文字术语\n(不是换行符,文字)替换为文字\\n。我试过这个: echo '"Refreshing \n\n\n state prior"' | sed 's/\\n/\\\n/g' 这“有效”,但我需要它来输出文字字符\\n。现在我的结局是这样的: "Refreshing \ \ \ state prior" 我是否有办法在sed输出中维护\\n?将sed的/\\n/\\\n/g'更改为: sed 's/\\n/\\\\n/g' 如果要将\n替换为\\n以获取\\n请

我试图使用
sed
将文字术语
\n
(不是换行符,文字)替换为文字
\\n
。我试过这个:

echo '"Refreshing \n\n\n state prior"' | sed 's/\\n/\\\n/g'
这“有效”,但我需要它来输出文字字符
\\n
。现在我的结局是这样的:

"Refreshing \
\
\
 state prior"

我是否有办法在
sed
输出中维护
\\n

sed的/\\n/\\\n/g'
更改为:

sed 's/\\n/\\\\n/g'

如果要将
\n
替换为
\\n

以获取
\\n
请在sed中再添加一个
\

echo "Refreshing \n\n\n state prior" | sed 's/\\n/\\\\n/g'

您试图用
\\\n
执行的操作是打印
\
字符,然后添加
\n
,这会产生一行新行。

当我运行此命令时,我的输出是
“刷新\n\n\n之前的状态”
,我不清楚您到底想在这里执行什么操作。您的输入是包含
\n
还是包含实际的换行符?你想在你的输出中得到什么<代码>\n<代码>\\n
\n
?顺便说一句,echo“刷新\n\n\n状态优先”将打印
刷新\n\n\n状态优先
,这是您想要的输出刚才在我的问题中发现了一个输入错误,我希望输出是
\\n
。我在评论中说了这一点,但问题是
\n
。很抱歉。
awk'{gsub(/\\n/,“\\\\n”);print}
谢谢你的解释。@tubaguy50035我很好奇我的答案有什么问题:。看起来简单多了,但可能我遗漏了什么?@hek2mgl这不是我想要的输出。如果我能输出输入,我就不会在这里问这个问题了@tubaguy50035请尝试
echo“hello\nworld”
它输出多少行?你看到你确实发布了一个无意义的问题了吗?我想要一行输出,带有文字字符
\\n
。这个答案就是这样的,它解释了我做错了什么。不过,谢谢你的积极反馈。这不适合我。尝试
sed:a;N、 美元!文学士;s/\n/\\n/g'
@EduardoLucio:你想做的是完全不同的事情。您正在用literal
\n
替换换行符。