在 bash 中的嵌套打印语句中打印文字 '\n'
Printing literal '\n' in nested print statements in bash
这里有一个有趣的情况,将不胜感激任何帮助。我的命令如下:
awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \"Hello...\n\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'
执行此命令应向中间脚本添加一行,以便在执行中间脚本时,应将以下行添加到 finalscript.sh 字面意思 的末尾此处显示:
printf "Hello...\n" >> finalscript.sh
所以,我已经尝试在上面的第一个命令中使用多达 7 个反斜杠转义 \n 来尝试让该死的东西打印一个文字 \n 一直到这个级别,但是没有运气。它会导致在中间脚本或最终脚本级别呈现换行符。谁能看到我在这里做错了什么?如果能够强制执行任何内容的文字打印并完全忽略 \n 而只是将 \ 和 n 视为彼此相邻放置的两个单独字符,那将是非常好的。
谢谢!
这是你想要的吗?
awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \\\\"Hello...\\\\n\\\\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'
echo | awk '{print "printf \"printf \\"Hello...\\n\\"\" >> finalscript.sh" >> "intermediaryscript.sh"}'
这里有一个有趣的情况,将不胜感激任何帮助。我的命令如下:
awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \"Hello...\n\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'
执行此命令应向中间脚本添加一行,以便在执行中间脚本时,应将以下行添加到 finalscript.sh 字面意思 的末尾此处显示:
printf "Hello...\n" >> finalscript.sh
所以,我已经尝试在上面的第一个命令中使用多达 7 个反斜杠转义 \n 来尝试让该死的东西打印一个文字 \n 一直到这个级别,但是没有运气。它会导致在中间脚本或最终脚本级别呈现换行符。谁能看到我在这里做错了什么?如果能够强制执行任何内容的文字打印并完全忽略 \n 而只是将 \ 和 n 视为彼此相邻放置的两个单独字符,那将是非常好的。
谢谢!
这是你想要的吗?
awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \\\\"Hello...\\\\n\\\\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'
echo | awk '{print "printf \"printf \\"Hello...\\n\\"\" >> finalscript.sh" >> "intermediaryscript.sh"}'