This question is a sequel of how does grep work?
It seems that the shell does the expansion of *.* to all applicable/available files and provide that to utilities like grep.
Why does the shell need to do that? Why not leave pathname expansion to the utility itself?
-rfand you userm... – Kerrek SB Aug 21 '11 at 16:58*, not*.*. It's very common in Unix/Linux to have files with no dots in their names. The system makes far less use of file extensions to decide what kind of file something is. For example, you'll commonly see "README" rather than "README.TXT". – Keith Thompson Aug 21 '11 at 18:05