Reputation: 917
When I read "line1\nline2\nline3" into a string, like this:
read string
line1\nline2\nline3
Then echo the string and direct the output to a file:
echo $string > text.txt
The txt file now contains:
line1nline2nline3
How could I make it so that the file contains:
line1
line2
line2
?
Thanks.
Upvotes: 1
Views: 53
Reputation: 123470
The problem here is that \n
does not mean line feed. It's just unnecessarily escaping the value of n
.
To do what you want, you should.
You can do 1. with read -r
and 2. with echo -e
:
read -r string
echo -e "$string"
Upvotes: 3
Reputation: 603
You need add double-quotes.
Example:
$ example=line1\nline2
$ echo $example
line1nline2
With double-quotes:
$ example="line1\nline2"
$ echo $example
line1
line2
Saving:
$ echo $example >> example.txt
$ cat example.txt
line1
line2
Upvotes: 0