Hacker News new | past | comments | ask | show | jobs | submit login

There's no reason why this functionality should be in sed when it can be implemented on its own and re-used. IIRC there's an an example script to for that in _The Unix Programming Environment_. Better to use sudo than have everything implement its own sudo-like functionality, etc.

See "UNIX Style, or cat -v Considered Harmful" by Rob Pike (http://harmful.cat-v.org/cat-v/) for a longer discussion of this.




In place operations have been implemented as a standalone utility: sponge from moreutils.

    sed 's/blah/foo/' file | sponge file


The irony

s stands for stream

there is no s in ed


I checked - it's pgs. 152-156. They call their utility "overwrite".

"...Many other commands could also use a -o command. For example, sed could edit a file in place: ... It would be impractical to modify all such commands to add the option. Furthermore, it would be bad design: it is better to centralize functions, as the shell does with the > operator."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: