sponge - soak up standard input and write to a file
sed '...' file | grep '...' | sponge file
`sponge reads standard input and writes it out to the specified file. Unlike a shell redirect, sponge soaks up all its input before opening the output file. This allows constricting pipelines that read from and write to the same file.
If no output file is specified, sponge outputs to stdout.
sponge soaks up all its input before opening the output file.
tee"reads a byte", and "writes that byte"; 'sponge' waits to receive all the input, and then, writes it.