3 ms·
How is sponge different from > filename?
by wging 13y ago
How is sponge different from > filename?
- tmhedberg 13y agoFor one thing, it allows your pipeline to both read from and write to the same file, as it defers the output until there is no more data to read from "upstream". For instance, this won't work (it truncates the file for writing before it is ever read): grep foo <some_file >some_file But this will have the intended effect: grep foo <some_file | sponge some_file
- loevborg 13y agoIt can be used where ">" does not work, e.g. when using sudo. So you can do echo data | sudo sponge /etc/a.file `tee` can be abused in a similar way, but it also prints the data to stdout, which is ugly.