existem comandos para pesquisar no seu Mac usando o terminal? Eu tentei usar o grep para pesquisar, mas parece um pouco sem resposta e nada aparece.
Por exemplo, eu digitaria "arquivos grep" (um nome de pasta) e ele apenas imprime uma linha em branco e nada acontece.
Respostas:
Você também pode usar o
mdfind
comando para realizar uma pesquisa com o Spotlight. Mais informações aqui .Use
mdfind -name searchterm
para recuperar arquivos com o nomesearchterm
. Usemdfind searchterm
para realizar uma pesquisa no nome e no conteúdo do arquivo.fonte
Se você quiser apenas encontrar arquivos com um determinado nome, use
find
A página de manual pode ser encontrada AQUI ou digitando
man find
no prompt do terminal.Basicamente, o find procurará recursivamente um arquivo que atenda aos critérios especificados. O exemplo mais fácil:
find . -name file_name -print
Isso procurará por um arquivo chamado "nome_do_arquivo" iniciando no diretório atual, pesquisando abaixo e imprimindo os arquivos com esse nome.
find ~ -name ".DS_Store" -delete
Isso encontrará todos os arquivos .DS_Store e os excluirá.
Você pode pesquisar por nome, regex, data. Você pode atuar no arquivo de qualquer maneira Unix com o
-exec
predicado.Você também pode usar find como o início de um pipeline de ações mais complexo. Exemplo:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
Encontrará todos os arquivos com extensões .m4a ou .mp3
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
Você fornecerá uma contagem desses arquivos.
fonte
-print
é o único predicado, ele pode ser omitido; Além disso, há globbing simples disponível. Assim, encontrar todos os.txt
arquivos sob um diretóriofoo
seria feito comfind foo -name \\*.txt
find .
É recursiva do cwd. Tente digitarfind .
no seu diretório raiz!Se você deseja pesquisar em uma pasta inteira, use -r no grep:
Com o find, você também pode usar xargs:
ou para garantir que você pesquise dois arquivos por vez e, portanto, tenha os nomes de arquivos especificados:
fonte
grep
espera um padrão e um especs. de arquivo. Se um deles estiver faltando, ele usará o que é passado como padrão e aguarda a pesquisa dos dados via entrada padrão.Se você quiser usar um arquivo mais complexo, use
find
.fonte
-exec
predicado emfind
.