Supongo que es un archivo CRLF (archivo de texto con formato DOS)
[bob@erasmas tmp]$ cat testfile
bird
notbird
[bob@erasmas tmp]$ cat testfile.dos
bird
notbird
[bob@erasmas tmp]$ file testfile
testfile: ASCII text
[bob@erasmas tmp]$ file testfile.dos
testfile.dos: ASCII text, with CRLF line terminators
[bob@erasmas tmp]$ grep '^bird' testfile
bird
[bob@erasmas tmp]$ grep '^bird' testfile.dos
bird
[bob@erasmas tmp]$ grep '^bird$' testfile
bird
[bob@erasmas tmp]$ grep '^bird$' testfile.dos
Nota: Esto estaba en una máquina Linux, ya que no es específico de OS X (si esto no es así, el problema).
Ejecute "archivo" en file.txt y vea si tiene finales de línea CRLF.