Can sed save its output to a file?
>can do it.
echo "text" > file
teecan do it.
echo "test" | tee file
seddo it without using either of the above? Is it possible to save the output of a
sedcommand to a file without using either
Please try to find the answer yourself before posting questions here. The first thing we ask of our users is to search and research before posting. All you needed to do was `sed '' file > newfile` and you would have seen that `>` can indeed be used with `sed` just like with any other program.
That's still using the `>` operator. I was interested if there were a sed command that could be used instead. But I'll delete this question if it's so bad.
Ah, right. OK, that's a very different question. Since you accepted the `sed -i` answer, I'll edit your question and clarify what you're after.
tee and > can be used for data redirection because these are meant to be used for data redirection in linux.
sed on the other hand is a stream editor. sed is not meant for data redirection as tee and > meant to be. However you can use conjunction of commands to do that.
use tee or > with sed
sed 's/Hello/Hi/g' file-name | tee file
sed 's/Hello/Hi/g' file-name > file
use sed with -i option
sed -i 's/Hello/Hi/g' file-name
the last one does not redirect, instead it will make changes in the file itself.
Thanks. You understood my question. So the answer is no. I thought `sed` on it's own maybe could do it, because it's also capable of creating backup files with the `-i.bak` option.
Correct. Also -i.bak is not a fixed option, you can use any extension, which you would like your backup file to have. for ex. -i.log will also work. :)
I just like to add that was actually looking for `echo "test" | dd of=file status=none`, suppressing an echo's output without using the obscure output redirection `2> /dev/null`, but instead asked for sed's limitations. I was really impressed by sed's abilities as it's capable of appending lines in file, giving me the impression that sed could do anything tee could do and more.