GNU sed has actually useful features, like escape characters. Do you really want actual tabs and newlines in your sed scripts? Ok, it might be somewhat ok in scripts, but in one liners, it's just terrible.
if your one-liners are that complex, use perl instead.
and it's not that bad for scripts. definitely not worth breaking compatibility with POSIX.
I can't replace sed because it often breaks scripts from people who assume sed = FreeBSD's sed, but I always install gsed on my systems.
i'm guessing they actually assume sed = POSIX sed, rather than freebsd's sed. freebsd's is a superset of POSIX sed.
FreeBSD ls's colors are mediocre. I replace it with GNU coreutils' ls.
the way freebsd ls handles colors (CLICOLOR and LSCOLORS environment variables) is a lot more convenient than the way gnu ls does (with the --color command line option). and freebsd ls has the -G option, so you can do it the way gnu ls does if you want.
I don't know which BSD tar are you talking about, IIRC, FreeBSD ships GNU tar in their base distro. You're probably looking at a tar from the early 90s.
no, i'm looking at /usr/bin/bsdtar, the target of the symlink /usr/bin/tar.
http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/tar/
And while we're talking about grep, OS X's grep is superior to all (it's actually just GNU's grep with a few trivial patches). It's the only version that warns you when you do something retarded like grep -r pattern instead of grep -r pattern .[1] (tells you you're doing a recursive search on stdin). Saved me from staring at a prompt while wondering "Wow, this grep is taking a lot of time."
how often do you really do
grep -r pattern? i've been using grep for years, and i've never made that particular mistake. i have accidentally hit enter without typing the filename before, but never when using -r, so that particular feature isn't really that useful.
also, bsd grep + pcre grep provides a lot more functionality than gnu grep, in less than 2/3 the size.