Question: grep do not output filename?
Answer: From the Output Line Prefix Control section of the grep manual page: -h, --no-filename Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.