Estou pesquisando em um repositório Git e gostaria de incluir a .git
pasta.
grep
não inclui esta pasta se eu executar
grep -r search *
O que seria um comando grep para incluir esta pasta?
fonte
Estou pesquisando em um repositório Git e gostaria de incluir a .git
pasta.
grep
não inclui esta pasta se eu executar
grep -r search *
O que seria um comando grep para incluir esta pasta?
Consulte a solução no final desta postagem como uma alternativa melhor para o que você está fazendo.
Você pode incluir explicitamente arquivos ocultos (um diretório também é um arquivo).
grep -r search * .*
O *
irá corresponder a todos os arquivos, exceto os ocultos e .*
irá corresponder apenas aos arquivos ocultos. No entanto, isso falhará se não houver arquivos não ocultos ou arquivos ocultos em um determinado diretório. Você pode, é claro, adicionar explicitamente em .git
vez de .*
.
No entanto, se você simplesmente deseja pesquisar em um determinado diretório, faça assim:
grep -r search .
O .
corresponderá ao caminho atual, que incluirá arquivos ocultos e não ocultos.
.*
incluirá o diretório pai (porque..
corresponde)Acabei de encontrar esse problema e, com base na resposta de @ bitmask, aqui está minha modificação simples para evitar o problema apontado por @sehe:
fonte
sudo grep -r ANDROID_HOME * .[^.]*
que estou fazendo de errado aqui?Talvez você prefira combinar "grep" com o comando "find" para obter uma solução completa como:
Este comando pesquisará dentro de arquivos ou diretórios ocultos pela string "search" e listará quaisquer arquivos que coincidam com este formato de saída:
Caminho do arquivo: Número da linha: linha com coincidência
fonte
Você pode querer usar essa abordagem, supondo que esteja pesquisando o diretório atual (caso contrário, substitua. Pelo diretório desejado):
ou se você deseja apenas pesquisar no nível superior (que é mais rápido de testar se você estiver tentando fazer isso):
ATUALIZAÇÃO: modifiquei os exemplos em resposta aos comentários de Scott. Eu também adicionei "-tipo f".
fonte
~
é o diretório inicial do usuário. A pergunta não era sobre o diretório pessoal do usuário, portanto, a resposta não deve ser mencionada~
. (2) Em umfind
comando,-name '*'
é um ambiente autônomo (ou seja, não tem nenhum propósito).Para pesquisar APENAS todos os arquivos e diretórios ocultos de sua localização atual:
SOMENTE todos os arquivos ocultos:
SOMENTE todos os diretórios ocultos:
fonte
Todas as outras respostas são melhores. Este pode ser fácil de lembrar:
Ele encontra apenas arquivos (incluindo ocultos) e executa greps em cada arquivo.
fonte
Para localizar apenas em uma determinada pasta, você pode usar:
É um comando muito simples de listar e canalizar para grep.
fonte
Além da sugestão de Tyler, aqui está o comando para executar grep em todos os arquivos e pastas recursivamente, incluindo arquivos ocultos
fonte
Para evitar correspondência
.
e..
que não são arquivos ocultos, você pode usargrep
comls -A
como neste exemplo:^\.
afirma que o primeiro caractere deve ser.
A opção
-A
ou--almost-all
exclui os resultados.
e,..
portanto, apenas os arquivos e diretórios ocultos são correspondidos.fonte
Você também pode pesquisar tipos específicos de arquivos ocultos, como arquivos de diretórios ocultos:
Isso pode funcionar melhor do que algumas das outras opções. As outras opções que funcionaram podem ser muito lentas.
fonte