如何替换文件与包含新行字符的字符串的内容?(How to replace a file's

2019-11-03 05:26发布

当我读到“行1 \ nline2 \ nline3”成一个字符串,就像这样:

read string

line1\nline2\nline3

然后呼应串并直接输出到一个文件:

echo $string > text.txt

TXT文件现在包含:

line1nline2nline3

我怎么可能让这个文件包含:

line1
line2
line2

谢谢。

Answer 1:

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

做你想做什么,你应该。

  1. 阅读,保留反斜杠的方式串
  2. 展开任何转义序列和写入串出

你可以做1. read -r和2. echo -e

read -r string
echo -e "$string"


Answer 2:

只要把$string在双引号:

echo "$string" > text.txt


Answer 3:

您需要添加双引号。

例:

$ example=line1\nline2
$ echo $example
line1nline2

用双引号:

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

保存:

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


文章来源: How to replace a file's content with a string containing new line characters?