A página grep
man explica os dois símbolos:
Anchoring
The caret^
and the dollar sign$
are meta-characters that respectively match the empty string at the beginning and end of a line.
A pesquisa por ^
corresponde apenas ao início da linha, que todas as linhas possuem, para que todas correspondam. Procurar por uma string vazia não tem restrições, então também combina todas as linhas. A pesquisa por ^$
significa "corresponde ao início da linha seguido do final da linha", que é uma linha em branco. Você também pode usá-los para casos como encontrar todas as linhas que começam com foo
( ^foo
) ou todas as linhas que terminam com bar
( bar$
)