Eu gostaria de encontrar todos os arquivos que contêm uma determinada sequência de texto. Como você faria isso no terminal?
Eu gostaria de encontrar todos os arquivos que contêm uma determinada sequência de texto. Como você faria isso no terminal?
Respostas:
grep -r 'text goes here' path_goes_here
man grep
para descobrir todas as opções maravilhosas de grep
No such file or directory
Estou tentando obter apenas a lista de ocorrências de texto. Como podemos obter essa lista?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
usar holofotes
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
não esqueça de olhar para:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
A resposta de Ignacio é ótima e me ajudou a encontrar os arquivos que contêm determinado texto. O único problema que eu estava enfrentando era que, ao executar este comando, todos os arquivos seriam listados, incluindo um em que o padrão não aparecesse.
No such file or directory
É o que vejo ao lado de arquivos que não contêm o padrão.
Se, em vez disso, você adicionar -s
ao comando, como em
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
for usado, ele mostrará apenas quais arquivos contêm o padrão.
Da mesma forma, se grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
usado, ele imprime o arquivo mais o número da linha e a ocorrência do padrão.
Por favor, corrija-me se meu entendimento estiver errado.
Referência: Como posso o grep não imprimir erros 'Não existe esse arquivo ou diretório'?
grep ... 2>/dev/null
. Essa solução funciona para a maioria dos programas, pois eles relatam mensagens de erro no fluxo stderr, não no stdout. Eu já usei essa solução muitas vezes find
, como dirá Permissão negada para muitos arquivos.
No such file or directory
mensagens para arquivos que existem, está fazendo algo errado ou seu sistema está com problemas. (2) O que [PATH OF PARENT]
tem a ver com alguma coisa?
[PATH OF DIRECTORY]
só meter alguém familiarizado queria saber por que eu tinha colocado./