Restringir pesquisa de localização para diretórios específicos

5

Existe uma maneira de restringir a saída locate a diretórios específicos no Mac OS X Snow Leopard? Eu li sobre o uso de regex em um fórum do Ubuntu. No entanto, no meu mac locate não aceita a opção -r . Eu também olhei para as páginas man para localizar no Mac e não há nenhuma opção -r .

Obrigado.

    
por Curious2learn 28.05.2012 / 16:26

4 respostas

1

Use apenas os curingas do shell no padrão de pesquisa do locate - essa funcionalidade é um recurso histórico do utilitário e deve ser suportada em todos os sistemas.

Por exemplo:

$ locate '*/dirname/*filename*'

Certifique-se de usar as estrelas ao redor da string de pesquisa (ou pelo menos na frente dela), assim que você usar curingas locate alterna a lógica e ancora a string de pesquisa no início e no final do material pesquisado.

    
por 28.11.2012 / 22:33
0

Eu acho que você precisa instalar outra versão do locate. Eu não tenho um sistema OS X para checar, mas parece que slocate está presente em macports, então deve ser bem fácil de instalar, e eu acho que ele tem a opção requerida.

    
por 28.05.2012 / 16:32
0

Experimente mdfind .

$ mdfind -onlyin $HOME iTunes

Os utilitários md * usam o mesmo banco de dados que o Spotlight .

    
por 27.06.2012 / 23:21
0

Você pode tentar misturá-lo com o comando grep , como:

locate hosts | grep ^/etc

ou:

locate php | grep -e ^/etc -e ^/usr/local/etc

para procurar em vários diretórios.

Se você usa essa funcionalidade com muita frequência, escreva um wrapper para ela.

    
por 31.07.2012 / 17:43