Quando eu faço ls -l | grep ^d
lista apenas diretórios no diretório atual.
O que eu gostaria de saber é o que o sinal de intercalação ^
no ^d
significar?
resposta de Andy está correto, como visto na página do manual:
Ancoragem
O sinal de intercalação ^ e o cifrão $ são metacaracteres que correspondem respectivamente à sequência vazia no início e no final de uma linha.
A razão pela qual funciona é a -l
sinalizador para ls
faz com que ele use o formato de listagem longa. A primeira coisa mostrada em cada linha são as permissões legíveis por humanos para o arquivo e o primeiro caractere é d
para um diretório ou -
para um arquivo
Isso é um sinal de intercalação, não uma cenoura. Significa "começo da linha". O grep está correspondendo apenas às linhas que começam com "d".