簡體   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