Hi.
My experience is different from that.
According to http://en.wikipedia.org/wiki/Usage\_share\_of\_operating_systems , the non-MS-Windows Desktop OSs are (in order) OS-X, Linux, and other.
I have found either a GNU-grep or a GNU work-alike on:
OS-X
BSD {free,new,open}
Solaris
OpenIndiania
I will admit that I don't recall if I installed the GNU code in Solaris and OI, but it must not have been much work if I did. The codes are in very differently-named directories, often not in default path settings, so I would not be surprised that many people do not know about them (and their associated man pages).
Virtually all supercomputers use Linux (ibid.). When I worked in one of the supercomputer centers, the initial Cray-2 used a variant of AT&T Unix, but these days most have shifted over to a form -- often custom -- of Linux. Similar for the ETA10. The TMC TM-5 used Unix in all the nodes as I recall. The 3090s used Unix in VMs (too long ago, but possibly AIX).
Of the "other", I looked at AIX and HP-UX. The AIX7 to which I had access offered GNU grep. I could not find it on HP B.11.11.
The mainframe OSs are usually whatever IBM has for the OS/390 follow-ons, z/OS, but also Linux and openSolaris.
CPAN has a number of grep work-alikes (written in perl, available for copying into one's own home-bin, not needed to install in the system), for example:
http://www.cpan.org/authors/id/A/AD/ADAVIES/peg-3.10 which has the context-printing capability (-B, as well as -A and -C). This code, peg, was quickly made to work on HP-UX, and:
peg -B1 string file
worked as one would expect from GNU grep.
Best wishes ... cheers, drl
( Edit 1: minor typo )