Everyone forgets the brilliant and sometimes crazy BSD ones:
- Column: Create columns / tables from input data
- tr: substitute / delete chars
- join: like a database join, but for text files
- comm: like diff, but you can use it programmatically to choose if a line is in one file, or another, or both.
- paste: put file lines side-by-side
- rs: reshape arrays
- jot: generate random or sequence data
- expand: replace tabs / spaces
Looks like 6 of those 8 are in GNU coreutils as well (and therefore can be assumed present on just about any modern Unix). 'rs' and 'jot' are the two missing from most default Linux installs. On Debian you can install them via the packages 'rs' and 'athena-jot'.
Comments
Everyone forgets the brilliant and sometimes crazy BSD ones:
Looks like 6 of those 8 are in GNU coreutils as well (and therefore can be assumed present on just about any modern Unix). 'rs' and 'jot' are the two missing from most default Linux installs. On Debian you can install them via the packages 'rs' and 'athena-jot'.
'jot' is pretty sweet, especially for creating ranges for iteration and random numerical data for testing arguments and such.
Check out the man page for a few snippets: http://www.unix.com/man-page/FreeBSD/1/jot/
It is the older, more flexible uncle of gnu's 'seq' command: http://administratosphere.wordpress.com/2009/01/23/using-bsd...
And you can't mention jot and rs without lam: http://www.unix.com/man-page/FreeBSD/1/lam/
Join is really one of those awesome unknown commands.