Я использую grep от Gnuwin32 в Windows.
На Windows XP, следующем
grep -e "foo" NUL
результаты в следующем выводе
grep: NUL: invalid argument
В Windows 7 те же аргументы не приводят ни к какому выводу вообще.
grep просто выходит без любого сообщения об ошибке.
Почему вывод отличается между Windows XP и Windows 7?
NUL является пакетным ключевым словом для пустого устройства (как/dev/null в Linux), возможно, что во втором случае, grep правильно рассматривает его как вход, тогда как в первом это пытается получить доступ к файлу под названием 'NUL' (хотя это не было бы желаемым behavour, так как файл под названием 'NUL' не может быть создан),