sed

You know how people sometimes write s/something/somethingOther?

That's a bastardisation of an expression which sed and it's predecessor ed understands.

I goes something like this:

s(ubstitute)/this/for that/

Where the slashes are arbitrarily picked separators.

If you have a shell, you could try: echo "foo bar baz" | sed 's/baz/ogre/'

The echo "foo bar baz" part on it's own would just print foo bar baz to the screen. Piping it to sed however, allows us to manipulate the text a little, before delivering it to the screen.

s/baz/ogre/ would find baz and replace it with ogre, thus giving us:

foo bar ogre

So ok, when is this useful? Whenever you'd fire up your text editor to do a global search and replace in a file.

So why then not just use the text editor? Weeeeeell because sometimes the file in which you need to replace stuff in, is on a remote server somewhere, the text editor is not on there, or perhaps you can't launch an X-session, maybe you only have a one-time login, so no downloading/uploading, or whatever.

Of course you could always fire up emacs, nano or vim, and do the replacements there, but meh, sometimes the file is big and wasting resources on painting the text on screen is not what you'd consider efficient resources usage.