cmd:grep and lists 

Quick helps 

-l, --files-with-matches
       Suppress  normal  output; instead print the name of each input
       file from which output would normally have been printed.   The
       scanning will stop on the first match.
-L, --files-without-match
       Suppress  normal  output; instead print the name of each input
       file from which no output would normally  have  been  printed.
       The scanning will stop on the first match.

Synopsis 

There is no way for grep to search stringz input (produced by 'find -print0' etc). The -Z, —null option is only for file name output:

-Z, --null
       Output a zero byte (the ASCII NUL character)  instead  of  the
       character  that  normally  follows  a file name.  For example,
       grep -lZ outputs a zero byte after each file name  instead  of
       the  usual newline.

Solution Synopsis 

The solution is not to use stringz but normal input, then work on the grep search output:

tr '\n' '\0' | xargs -0