grep -r foo *
nie wyszukuje dopasowań w ukrytych plikach lub katalogach, *
jest również rozszerzany przez powłokę, więc możesz skończyć z zbyt długim błędem listy argumentów, gdy w bieżącym katalogu jest dużo wpisów, lub innymi błędami lub złym zachowaniem, jeśli nazwa niektórych plików lub katalogów zaczyna się od myślnika.
Inwokacja grep -r foo .
nie ma powyższych wad
Zaktualizowano:
Kolejna różnica: strona man grep (@ fedora17) mówi:
-r, --recursive
Read all files under each directory, recursively, following symbolic links only if they
are on the command line. ...
Różnica wystąpi także po wykonaniu tego polecenia w pustym katalogu:
$ grep -r foo *; echo $?
grep: *: No such file or directory
2
$ grep -r foo .; echo $?
1
$