If I use the following grep in my Linux box:
$ ps -ef | grep bash root 2286 1 0 Jun06 ? 00:03:15 /bin/bash /etc/init.d/zxy100wd wmiller 6436 6429 0 Jun06 pts/0 00:00:01 bash wmiller 10707 6429 0 Jun07 pts/1 00:00:00 bash wmiller 10795 6429 0 Jun07 pts/2 00:00:00 bash wmiller 16220 6436 0 06:55 pts/0 00:00:00 grep --color=auto bash
Note that the last line tells grep itself, because the word "bash" is in args for grep.
But, if instead I put [] around any letter in "bash", I get:
$ ps -ef | grep ba[s]h root 2286 1 0 Jun06 ? 00:03:15 /bin/bash /etc/init.d/zxy100wd wmiller 6436 6429 0 Jun06 pts/0 00:00:01 bash wmiller 10707 6429 0 Jun07 pts/1 00:00:00 bash wmiller 10795 6429 0 Jun07 pts/2 00:00:00 bash
This time there is no information about grep!
So why the inclusion of letters in a search expression, i.e. regular expression in brackets does not allow grep to report about itself here? However, I meant "any character from the [] nested set consisting of the character" s ".
source share