On Dec 5, 2017 7:35 AM, "Devin Teske" <de...@shxd.cx> wrote:
> On Dec 5, 2017, at 5:00 AM, Hans Petter Selasky <h...@selasky.org> wrote: > >> On 12/05/17 13:58, Rodney W. Grimes wrote: >> Further more, why does freebsd need this in base? > > Hi, > > I think this is useful. It could replace the "-i " (intermediate) option for "sed" for example. It avoids creating temporary files when filtering files, right? > > --HPS > Wth is wrong with: data=$( sed -e '...' somefile ) && echo "$data" > somefile or set -e data=... echo "$data" > ... or exec 3<<EOF $( ... ) EOF cat > ... <&3 or (I digress) Infinite variations, but the gist is that sponge looks to be trying to help sh(1)/similar when help is unneeded. Why buffer data into memory via fork-exec-pipe to sponge when you can buffer to native namespace without pipe to sponge? Am I missing something? Why do we need sponge(1)? -- Devin I do believe you are sort of missing the point. It is a utility that is explicitly useful in shell pipelines, so when you want to do things as one-liners. I like the utility and use the one from ports and my own version in various things here and there. It is a common utility installed in Linux distros and the top answer on Google for questions such as "redirect shell output to same file". I think the outrage about adding a tiny utility that's common elsewhere is a bit silly. As for the implementation, I have my own version of sponge (hobby program written in rust so not base-worthy), and it uses explicit temporary files for larger outputs. Matt _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"