gpt4 book ai didi

regex - 用文字替换换行符\n

转载 作者:行者123 更新时间:2023-12-03 07:36:30 29 4
gpt4 key购买 nike

This stackoverflow question有一个用 sed 替换换行符的答案,使用格式 sed ':a;N;$!ba;s/\n//g'。

这有效,但不适用于\r、\n 等特殊字符。

我想要做的是将换行符替换为文字\n。尝试过

sed ':a;N;$!ba;s/\n/\\n/g'

sed ':a;N;$!ba;s/\n/\\\n/g'

还有

sed ":a;N;$!ba;s/\n/'\'n/g"

但一切都无济于事。 Sed 不断用换行符替换换行符....

想法?

第一次回答后编辑:

为了完整起见,运行的命令是:

PostContent=cat $TextTable | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g'

其中 TextTable 是链接到包含以下格式的 JSON 输出的文本文件的变量:

{"posts":[{"title":"mysupertest","slug":"bi-test","markdown":"##TEST
First things first !
To TEST this TEST TEST, click the download button below.
If you need more information about the TEST TEST, you can read the Table of Contents below.

<a href='/assets/TEST.pdf' style='border-radius:5px; padding: 4px 15px; background-color:#008CBA; color:white; text-decoration:none; float:right;' download> Download </a>


##TEST OF TEST


###TEST TEST PLATFORM TEST GUIDE
WaTESTve TEST SetupTEST
TESTTEST
TESTTESTETESTTETSTTEST
TESTTESTTTETST
TESTTES
TESTTESTESSTSTESTESTTES
TEST","image":"http://localhost:3000/myimage.jpg","featured":false,"page":false,"status":"draft","language":"en_US","meta_title":null,"meta_description":null,"author":"4","publishedBy":null,"tags":[{"uuid":"ember2034","name":"implementation guides","slug":null,"description":null,"meta_title":null,"meta_description":null,"image":null,"visibility":"public"}]}]}

最佳答案

这就是你想做的事吗?

$ cat file
a
b
c

$ awk '{printf "%s\\n", $0}' file
a\nb\nc\n$

甚至:

$ awk -v ORS='\\n' '1' file
a\nb\nc\n$

首先在输入文件上运行 dos2unix 以去除 \r(如果您愿意),或者使用 -v RS='\r?\n' 和 GNU awk或者在 printf 之前执行 sub(/\r$/,""); 或其他十几种清晰、简单的处理方法。

sed 用于对各行进行简单替换,仅此而已。对于其他任何事情,你应该使用 awk。

关于regex - 用文字替换换行符\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38672680/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com