在bash中的嵌套打印语句中打印文字'\ n'

时间:2015-03-18 22:36:41

标签: bash unix

在这里有一个有趣的情况,将不胜感激任何帮助。我的命令如下:

awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \"Hello...\n\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'

执行此命令应该在intermediaryscript中添加一行,以便在执行intermediaryscript时,应将以下行添加到finalscript.sh 字面的末尾,如下所示:

printf "Hello...\n" >> finalscript.sh

所以,我已经尝试在上面的第一个命令中使用多达7个反斜杠来转义\ n尝试只是为了打印文字\ n一直到达这个级别,但没有运气。它或者导致在中间片或最终片段的换行。谁能看到我在这里做错了什么?能够强制执行任何内容的文字打印并完全忽略\ n而非常好,而只是将\和n视为彼此相邻的两个单独的字符。

谢谢!

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

awk '{
where = match(somecondition)
if (where)
{
print "printf \"printf \\\\\\\"Hello...\\\\\\\\n\\\\\\\" >> finalscript.sh\" >> intermediaryscript.sh"
}
}
1'

答案 1 :(得分:0)

echo | awk '{print "printf \"printf \\\"Hello...\\\\n\\\"\" >> finalscript.sh" >> "intermediaryscript.sh"}'