Home > Mobile >  git grep is missing matches
git grep is missing matches

Time:09-14

To find the classes having a private constructor I would like to use

git grep -lzP 'class\s (\w  )[\s\S]*private\s \1'

But it finds no result, however with the find command it finds

find */src/main/java -type f -exec grep -lzP 'class\s (\w  )[\s\S]*private\s \1' {}  

CodePudding user response:

From git help grep:

       -z, --null
           Output \0 instead of the character that normally follows a file name.

It only says that ASCII NUL will be added to output filenames. So, I don't think this is equivalent to grep -z which treats "input and output data as sequences of lines, each terminated by a zero byte".

You can use grep -r instead of find grep. I'd also recommend ripgrep for better performance.

  • Related