Ersetzen Sie Zeilenumbrüche durch Literal \ n
Diese Stapelüberlauf-Frage hat eine Antwort zum Ersetzen von Zeilenumbrüchen durch sed im Format sed ': a; N; $! ba; s / \ n / /g'
Dies funktioniert, aber nicht für Sonderzeichen wie \ r, \ n usw.
Ich versuche, das Zeilenumbruchzeichen durch ein Literal zu ersetzen \ n. Versucht
sed ':a;N;$!ba;s/\n/\\n/g'
un
sed ':a;N;$!ba;s/\n/\\\n/g'
ebenfall
sed ":a;N;$!ba;s/\n/'\'n/g"
aber alles ohne Erfolg. Sed ersetzt weiterhin das Zeilenumbruchzeichen .... durch ein Zeilenumbruchzeichen.
Gedanken
Bearbeitet nach der ersten Antwort:er Vollständigkeit halber lauten die ausgeführten Befehle:
PostContent =cat $TextTable | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g'
Where TextTable ist eine Variable, die mit einer Textdatei verknüpft ist, die eine JSON-Ausgabe im folgenden Format enthält:
{"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"}]}]}