/ / Pesquisar todos os arquivos e em todos os arquivos - linux, macos

Pesquisar todos os arquivos e em todos os arquivos - linux, macos

Eu estou olhando um script, ferramenta ... para o Linux que encontrar todos os arquivos e em todos os arquivos a palavra-chave, semelhante no OSX Finder (eu não estou procurando um aplicativo com a mesma interface do Finder, mas apenas o mesmo funciona)

por exemplo. Se eu pesquisar no OSX Finder "linux" eu recebo:

linux (directory with linux name)
linux-2.4.0 (directory with linux in name)
...
memory.h (file with linux in text)
...
command.c (file with linux in text)
...
so-08-filesystem.pdf (pdf with linux in text)
...

Existe algo assim para o Linux?

Obrigado a todos, mas use "find" e "grep" (emtodas as suas variantes), procure por arquivos e arquivos vistos como arquivos linux, ou seja, como a codificação de seus caracteres é armazenada na memória. Não funcionará, por exemplo, com arquivos .pdf

Respostas:

0 para resposta № 1

sim, não precisa baixar nada, basta abrir o terminal e fazer:

sudo find / -name "*keyword*"

e isso irá procurar em seu diretório base (/) por quaisquer arquivos que correspondam à palavra-chave. As estrelas significam que qualquer coisa pode estar em qualquer lado da palavra-chave. se eu fiz:

sudo find / -name "*.html"

ele retornará:

/var/www/index.html
/var/www/list.html

0 para resposta № 2

O comando find é usado para localizar todos os arquivos de um diretório em ordem recursiva e pode executar mais scripts com o comando find para localizar o conteúdo desses arquivos.

find sourcedirectory/ -iname "*file*" -exec grep -i keyword {} ;

Este comando acima encontrará todos os arquivos do sourcedirectory que possuem o arquivo de nomes em ambos os lados do nome do arquivo. E, em seguida, o comando grep usado para pesquisar a variável de palavra-chave a partir desses arquivos.

Se quiser pesquisar de todos os arquivos em um diretório, use o comando abaixo.

find sourcedirectory/ -type f -exec grep -i keyword {} ;

0 para resposta № 3

Você pode implementar seu próprio localizador. Adicione a seguinte função ao arquivo ~ / .bashrc

finder() {
find -name "*$1*" && grep -r "$1"
}