more closely model grep in error and help messages and exit status