将文本写入文件,包括特殊字符

时间:2017-07-12 02:32:25

标签: bash

我想用bash脚本将文本写入文件,而不是修改特殊字符。我搜索一个函数或命令,类似于:

echo'line1
line2' > destination/file

但包含文字内所有特殊字符$' " (等)并且不修改这些字符。

2 个答案:

答案 0 :(得分:6)

最简单的方法是使用引用的heredoc:

scrollIndicatorInsets

请注意,字符串“EOT”完全是任意的,如果您希望输出中只包含字符串EOT的行,则可以选择不同的分隔符。您也可以堆叠这里的文档,因此如果您想要插入一些变量,您可以执行以下操作:

cat << 'EOT' > /path/to/file
Thi$ is text with ' " special chars
that [ spans ] {} multiple lines
EOT

答案 1 :(得分:0)

您可以使用tee命令执行相同操作。语法:

tee filename

然后写入文件的内容。如果要保存,请按Ctrl + Z.如果要附加到文件,请使用tee -a filename

您还可以使用其他命令输出并使用tee将它们传输到文件。