Se você deseja um resultado rápido, use o Spotlight. Além disso, se você deseja encontrar arquivos que não necessariamente armazenam texto diretamente no arquivo, como PDF ou ODF.
Joey
Um bom conselho, mas no meu caso, não tenho certeza se os arquivos estão indexados, pois estão em drivers de rede. E também são arquivos xml pertencentes a um programa específico.
Gostaria de sugerir um man greppara descobrir todas as opções maravilhosas de grep
Ludovic Kuty
Isso lista todos os arquivos existentes no caminho e acrescenta: No such file or directory Estou tentando obter apenas a lista de ocorrências de texto. Como podemos obter essa lista?
Você pode escolher uma das opções abaixo, dependendo do seu gosto e necessidades. Supondo que você precise procurar por arquivos que contenham texto - "assíncrono", recursivamente no diretório atual, você pode fazer isso de uma das seguintes maneiras:
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 -sao comando, como em
grep -lr "text pattern" ./ -s:; grep -lr "text pattern" [PATH DIRECTORY] -sfor 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] -susado, 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.
Outra maneira de evitar esses incômodos erros desse arquivo é canalizar stderr para null. 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.
jpaugh
(1) Se você estiver recebendo No such file or directorymensagens 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?
G-Man
@ G-Man eu editei a resposta para mostrar [PATH OF DIRECTORY]só meter alguém familiarizado queria saber por que eu tinha colocado./
CP3O
@ G-Man Estou usando um mac, não o Ubuntu, não tenho certeza de como meu sistema seria danificado, eu mal fiz nada ainda.
Respostas:
fonte
man grep
para descobrir todas as opções maravilhosas de grepNo 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
não esqueça de olhar para:
fonte
brew install ack ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
fonte
Você pode escolher uma das opções abaixo, dependendo do seu gosto e necessidades. Supondo que você precise procurar por arquivos que contenham texto - "assíncrono", recursivamente no diretório atual, você pode fazer isso de uma das seguintes maneiras:
Usando grep
Usando ack
fonte
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 emgrep -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'?
fonte
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 vezesfind
, 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./