O que significa ^ d em ls -l | grep ^ d?

13

Quando eu faço ls -l | grep ^d ele lista apenas os diretórios no diretório atual.

O que eu gostaria de saber é o que significa o caret ^ em ^d ?

    
por Glide 13.10.2010 / 21:29

2 respostas

21

A resposta de Andy está correto, como visto na página man:

Anchoring

The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

O motivo pelo qual ele funciona é o -l flag to 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 para o arquivo, e o primeiro caractere é d para um diretório ou - para um arquivo

    
por 13.10.2010 / 21:43
13

Isso é um caret, não uma cenoura. Significa "início da linha". O grep está combinando apenas linhas que começam com "d".

    
por 13.10.2010 / 21:34