grep -r 'text goes here' path_goes_here
Eu gostaria de encontrar todos os arquivos que contenham uma certa string de texto. Como você faria isso no Terminal?
use o spotlight
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
não se 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 esse comando, todos os arquivos seriam listados, incluindo aquele em que o padrão não aparecia.
No such file or directory
Isto é o que eu vejo ao lado de arquivos que não contêm o padrão.
Se você adicionar -s
ao comando, como em:
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH DIRECTORY] -s
é usado, ele mostrará apenas quais arquivos contêm o padrão.
Da mesma forma, se grep -nr "text pattern" ./ -s
; O comando grep -nr "text pattern" [PATH OF DIRECTORY] -s
é usado para imprimir 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 fazer o grep não imprimir erros 'Nenhum arquivo ou diretório'?