grep version: 2.20zgrep version: 1.5 $cat test1hello $cat test2goodbye $cat test3goodbye $cat test4goodbye $grep "hello" test1 #works as expected hello$echo $?0 $grep "goodbye" test1 #works as expected$echo $?1 $grep "hello" * #works as expected. gets line from test1 and returns 0test1:hello$echo $?0 $grep "goodbye" * #works as expected. gets lines from test2, 3, and 4 and returns 0test2:goodbyetest3:goodbyetest4:goodbye$echo $?0
despite stating zgrep works the same as grep, the return codes over multiple files are different $zgrep "hello" test1 #works as expected hello$echo $?0 $zgrep "goodbye" test1 #works as expected$echo $?1 $zgrep "hello" * #does NOT work as expected. gets line from test1 and returns 1. grep states that if ANY line is found, 0 will be returned test1:hello$echo $?1 $zgrep "goodbye" * #does NOT work as expected. gets lines from test2, 3, and 4 and returns 1. grep states that if ANY line is found, 0 will be returned test2:goodbyetest3:goodbyetest4:goodbye$echo $?1 $zgrep "goodbye" test2 test3 test4 #works as expected. finds pattern in all files and returns 0. bug only occurs if files exist where the pattern is not foundtest2:goodbyetest3:goodbyetest4:goodbye$echo $?0