Usando o comando grep no terminal

Iniciado por Roxasrex, 31 de Julho de 2020, 22:25

tópico anterior - próximo tópico

Roxasrex

Boa Noite, não conheço quase nada de Ubuntu...

No windows, quando preciso achar uma determinada palavra dentro de arquivos em PDF, localizados em uma pasta, eu só digito a palavra e ele me informa em quais arquivos estão esta palavra ou número, porém no Ubuntu isso não acontece.

Pesquisei na internet e achei o comando grep no terminal, porém não estou sabendo usa-lo

Eu gostaria de saber em quais arquivos, dentro de uma pasta especifica, a palavra que eu procuro está e poder abri-los, quando pesquisei na internet não entendi nada e não estou sabendo usa-la.

Muito Obrigado

creto

#1
Olá,

Citação de: Roxasrex online 31 de Julho de 2020, 22:25
...

No windows, quando preciso achar uma determinada palavra dentro de arquivos em PDF, localizados em uma pasta, eu só digito a palavra e ele me informa em quais arquivos estão esta palavra ou número, porém no Ubuntu isso não acontece.

...


O engraçado é que aqui também é assim, mas no meu caso eu uso só e tão somente Linux:


Click para ampliar

Ah, um pouco mais de informação
creto@creto:~$ cd ~
creto@creto:~$ cd Downloads/
creto@creto:~/Downloads$ ls | grep .pdf
Detalhe da operação.pdf
creto@creto:~/Downloads$


Ou na pasta "Documentos"
creto@creto:~$ cd ~
creto@creto:~$ cd Documentos/
creto@creto:~/Documentos$ ls | grep .docx
07-cv-inicio-de-carreira-robert-half.docx
Conta de energia.docx
creto@creto:~/Documentos$


Resumo da ópera:

No terminal dependendo da pasta você usa cd para navegar entre pastas ls lista informações de arquivos, e o grep com a extens~ao a busca te mostra o que tem na pasta .pdf .docx .odt .mp4 etc etc

Espero ter sido útil de alguma forma ;)

T+
A vida, é feito andar de bicicleta, se parar, você cai! (Gabriel Contino)
Blog do Paulo Corrêa Creto

zekkerj

grep <opções> <texto> <arquivo(s)>

Exemplos:

grep mamae recoreco.txt bolao.docx azeitona.pdf
Procura pela palavra "mamae" dentro dos arquivos passados. Observe que até segunda ordem, arquivo é arquivo, e o grep c*ga e anda se eles são txt, doc, docx, zip ou mesmo executável. Se tiver a sequência de letras que você estiver procurando, ele encontra.

grep "mamae e papai" familia.txt
Procura pela frase exata "mamae e papai" dentro do arquivo familia.txt. Observe que quando o texto procurado tem espaços, você precisa colocá-lo entre aspas simples (') ou duplas(").
Observe também que ele só vai encontrar se o texto estiver todo em minúsculas, e se os espaços aparecerem exatamente como você passou.

grep -i "mamae e papai" familia.txt
Mesma coisa, porém agora ele vai ignorar maiúsculas e minúsculas.

grep "mamae e papai" *.txt familia.*
Procura por "mamae  e papai" em todos os arquivos terminados em ".txt", e em todos começados por "familia.".

grep -r "mamae e papai" *
O mesmo, mas agora procura em todos os arquivos desta pasta, e em todas as pastas abaixo.

grep -v "papai" *.txt
Mostra todas as linhas que não têm a palavra "papai" nos arquivos ".txt".

grep -l -v "papai" *.txt
O mesmo, mas agora mostra só os arquivos que não têm essa palavra, e não as linhas.

Há ainda dois outros programas associados, chamados fgrep ("fast grep") e egrep (regular expression grep). O primeiro encontra textos básicos de forma rápida. O segundo usa expressões regulares, e por isso é extremamente poderoso. Até onde eu sei, o grep tenta ver se você está usando ou não expressões regulares, e se for o caso direciona pra um ou pra outro.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

creto

#3
Quem sabe sabe, tenho anotações desde meu primeiro usuário aqui, e mais uma agora, valeu por mais ensinamentos @zekkerj!

Rapaz se hoje me viro relativamente bem com um sistema Linux devo a escolas como essa, fórum do Big, Mint Br, mageia, pclinusos br, enfim essas escolas aqui acho que valem bem mais de que uma certificação lpi-sei-lá

;)

T+
A vida, é feito andar de bicicleta, se parar, você cai! (Gabriel Contino)
Blog do Paulo Corrêa Creto

zekkerj

E onde vc acha que eu peguei essa informação, @creto? ;D
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D