> brew install moreutils
==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring moreutils0.55.yosemite.bottle.tar.gz
? /usr/local/Cellar/moreutils/0.55: 67 files, 740K
sponge reads standard input and writes it out to the specified file.
Unlike a shell redirect, sponge soaks up all its input before writing
the output file. This allows constructing pipelines that read from
and write to the same file.
I don't understand. Please give me some useful examples.
What does soaks up mean?
Best Answer
Assume that you have a file named
input
, you want to remove all line start with#
ininput
. You can get all lines don't start with#
using:But how do you make changes to
input
? With standard POSIX toolchest, you need to use a temporary file, some thing like:With shell redirection:
will truncate
input
before you reading from it.With
sponge
, you can: