繁体   English   中英

如何用包含换行符的字符串替换文件的内容?

[英]How to replace a file's content with a string containing new line characters?

当我将“line1 \\ nline2 \\ nline3”读入字符串时,如下所示:

read string

line1\nline2\nline3

然后回显字符串并将输出定向到文件:

echo $string > text.txt

txt文件现在包含:

line1nline2nline3

我怎么能这样做,以便该文件包含:

line1
line2
line2

谢谢。

这里的问题是\\n并不意味着换行。 它只是不必要地逃避了n的价值。

要做你想做的事,你应该。

  1. 以保留反斜杠的方式读取字符串
  2. 展开任何转义序列并将字符串写出

您可以使用read -r和2. with echo -e :1。

read -r string
echo -e "$string"

只需将$string放在双引号中:

echo "$string" > text.txt

您需要添加双引号。

例:

$ example=line1\nline2
$ echo $example
line1nline2

双引号:

$ example="line1\nline2"
$ echo $example
line1
line2

保存:

$ echo $example >> example.txt
$ cat example.txt
line1
line2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM