% grep --version grep (GNU grep) 3.4 ... % echo -n > foo % grep -v foo foo ; echo $? 1
Would expect it to exit with zero in this case, since foo is not in the file. When the file is one byte it works as expected: % echo > foo % grep -v foo foo ; echo $? 0 %