Grep versus spotlight no mac

2

Sou recém-formado e tenho me perguntado quais são os benefícios de usar o grep versus o spotlight no mac. Eu corri um comando para procurar um arquivo específico porque perdi o controle de qual diretório ele está, o que demorou um pouco, mas quando eu fiz isso no spotlight o resultado foi instantâneo. Eu gosto de usar a linha de comando e isso torna minha vida muito mais simples do que a visualização de diretórios da interface do usuário no mac, então eu gostaria de aprender como usá-la em todo o seu potencial.

    
por Bones223 07.08.2017 / 22:43

2 respostas

1

Comparações rápidas

Iterativo

grep é geralmente pesquisar conteúdo de arquivo por padrões de correspondência. Pense em pesquisar o conteúdo do arquivo. grep terá que percorrer manualmente o sistema de arquivos a partir de um determinado ponto de partida.

Estou curioso em saber como você estava usando grep .

find é o comando padrão * nix para procurar um arquivo em seu sistema de arquivos. Confira a man page, ela tem várias maneiras de usá-la. Mas basicamente, ele percorre seu sistema de arquivos a partir de um determinado ponto de partida e procura correspondências.

Indexado

spotlight é um utilitário OSX que pesquisa uma lista de arquivos indexada . spotlight depende de um índice e, portanto, é capaz de realizar pesquisas muito rápidas, pois não faz iteração manual sobre o sistema de arquivos. Normalmente, um thread de trabalho faz isso para construir o índice.

A desvantagem com o destaque é que, se o arquivo não tiver sido indexado, o Spotlight não o encontrará, mesmo que exista. No entanto, se o diretório tiver sido indexado, o Spotlight terá um bom desempenho.

Outros

Se você precisar pesquisar conteúdo de arquivo e estiver usando o controle de versão, digamos, em um projeto de desenvolvimento, ag silver_searcher é uma alternativa muito mais rápida a grep . Ele funciona dentro de cenários de controle de versão e respeita sua lista de tipos de arquivos ignorados para localizar arquivos que contenham um padrão

    
por 07.08.2017 / 22:59
1

Como uma possível solução para você; O OS X também possui um comando locate que utiliza a indexação para localizar arquivos. Essa é provavelmente a sua melhor aposta para ver o mesmo desempenho de pesquisa no cli que você vê no centro das atenções. Para configurar seu banco de dados, você deve executar o comando:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Uma vez que seu banco de dados foi criado, você pode usar:

locate <file>

    
por 07.08.2017 / 23:00