Localizar não está funcionando

1

O comando find não está funcionando como esperado no meu OSX com oh-my-zsh. Alguns exemplos:

$ find . -name test
find: .: Invalid argument

$ find
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
       find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

$ find --version
find: illegal option -- -
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
       find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

$ find version
find: .: Invalid argument

Não sei ao certo o que está acontecendo aqui, pois os mesmos exemplos funcionam como o esperado na minha máquina Linux. Alguma idéia de como depurá-lo?

    
por Najki 20.04.2016 / 21:45

1 resposta

5

Isso porque você está tentando usar o GNU find, que é o padrão no Linux, mas o Mac OS X vem com o BSD, que tem muitas diferenças.

Para instalar o GNU, você precisará do Homebrew, fácil de instalar, basta seguir o link

Depois disso, você pode instalar o findutils:

brew install findutils

Mais informações e outras ferramentas para imitar um ambiente Linux no seu Mac aqui: link

Outra opção é ler o BSD para encontrar páginas do manual e ajustar seu comando. Apenas execute man find , você verá no topo da tela "Manual de Comandos Gerais do BSD" confirmando que na verdade você tem o BSD localizado.

    
por 20.04.2016 / 21:56