I have a sentence like
This is for example
I want to write this to a file such that each word in this sentence is written to a s
Try using :
string="This is for example"
printf '%s\n' $string > filename.txt
or taking advantage of bash word-splitting
string="This is for example"
for word in $string; do
echo "$word"
done > filename.txt
Try use:
str="This is for example"
echo -e ${str// /\\n} > file.out
Output
> cat file.out
This
is
for
example
example="This is for example"
printf "%s\n" $example
A couple ways to go about it, choose your favorite!
echo "This is for example" | tr ' ' '\n' > example.txt
or simply do this to avoid using echo
unnecessarily:
tr ' ' '\n' <<< "This is for example" > example.txt
The <<<
notation is used with a herestring
Or, use sed
instead of tr
:
sed "s/ /\n/g" <<< "This is for example" > example.txt
For still more alternatives, check others' answers =)
$ echo "This is for example" | xargs -n1
This
is
for
example
Use the fmt
command
>> echo "This is for example" | fmt -w1 > textfile.txt ; cat textfile.txt
This
is
for
example
For full description of fmt
and its options, check out the related man page.