Pular para o conteúdo

Script para ler aquivo [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar
01 02 03

1. Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 15:57h

Galera, boa tarde.
Preciso de um script pra ler um arquivo .txt que contém muitas linhas.
O script deve procurar uma palavra específica "ORA-" em cada linha, e retornar somente as linhas que contém a string.

Depois eu vou fazer uma comparação em outro arquivo pra ver se as linhas são repetidas e tudo mais, mas por enquanto só preciso da primeira ideia ai de cima. Estou tentando em Python e em ShellScript, sem sucesso até então.

No Python consigo fazer o script ler as linhas mas ele me retorna somente a primeira linha que ele encontra "ORA-", ignorando as demais.

Responder tópico

2. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 17:11h

rodrigofl20 escreveu:
O script deve procurar uma palavra específica "ORA-" em cada linha, e retornar somente as linhas que contém a string.
.
não rola só assim não ??

grep -i "ORA-" arquivo.txt 
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

3. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 19:17h

Mauriciodez escreveu:

rodrigofl20 escreveu:
O script deve procurar uma palavra específica "ORA-" em cada linha, e retornar somente as linhas que contém a string.
.
não rola só assim não ??

grep -i "ORA-" arquivo.txt 
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Aproveitando a brecha, como eu faço para utilizar um coringa nesta filtragem? Supondo que eu queira procurar determinada string somente em arquivos texto, como se faz?

Eu tentei os seguintes comandos aqui mas não funfou.

$ grep -i "Linux" ~/Documentos/Homem/* .txt 
$ grep -i "Linux" ~/Documentos/Homem/*.txt 
E para o colega do tópico que é neófito como eu, seria interessante pesquisar sobre o uso de coringas. Caso ainda não saiba, é claro. Aprendi isso no Foca Linux. =P

4. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 19:32h

homemsemnome escreveu:

Eu tentei os seguintes comandos aqui mas não funfou.

$ grep -i "Linux" ~/Documentos/Homem/* .txt 


$ grep -i "Linux" ~/Documentos/Homem/*.txt 


Veja bem ... o caminho é "/home" e não "~" ... logo seria assim

grep -i "Linux" /home/Documentos/Homem/*.txt 
OBS: atenção no seu caso para o parametro "-i"
-i : ignora a diferença entre letras maiúsculas e letras minúsculas



___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

5. O SED resolve tudo! kkk

Enviado em 18/07/2016 - 19:41h

Boa noite!!!

Para resolução de textos ou dados de arquivos, sempre utilizo o sed, o cara é um amigo do peito e irmão camarada, veja só:


sed -n '/ext4/w arquivo_saida' /etc/fstab
Espero ter ajudado e não esqueça de marcar como a melhor.

Até.

6. Re: Script para ler aquivo

Enviado em 18/07/2016 - 19:44h

Mauriciodez escreveu:

homemsemnome escreveu:

Eu tentei os seguintes comandos aqui mas não funfou.

$ grep -i "Linux" ~/Documentos/Homem/* .txt 


$ grep -i "Linux" ~/Documentos/Homem/*.txt 


Veja bem ... o caminho é "/home" e não "~" ... logo seria assim

grep -i "Linux" /home/Documentos/Homem/*.txt 
OBS: atenção no seu caso para o parametro "-i"
-i : ignora a diferença entre letras maiúsculas e letras minúsculas



___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Eu já tentei de todos esses modos.

desktop@debian:~$ grep -i "Linux" /home/Documentos/Homem/*.txt
grep: /home/Documentos/Homem/*.txt: Arquivo ou diretório não encontrado
Também já tentei assim, mas também não deu.

$ grep -i "Linux" /home/desktop/Documentos/Homem/*.txt 
O comando só funciona se eu não indicar nenhuma extensão para o coringa.

$ grep -i "Linux" ~/Documentos/Homem/* 

7. Re: Script para ler aquivo

Enviado em 18/07/2016 - 19:53h

homemsemnome escreveu:

Coloca o parametro -r no grep ao invés do -i

EDIT: eu falei do /home erroneamente ... o correto é colocar o "~" mesmo !!!!




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

8. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 20:04h

Mauriciodez escreveu:

homemsemnome escreveu:

Coloca o parametro -r no grep ao invés do -i

EDIT: eu falei do /home erroneamente ... o correto é colocar o "~" mesmo !!!!




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Também não funfou, mas deixa para lá. O importante é que o comando grep funciona bem para localizar strings. Eu não conhecia esse comando e você me apresentou hoje. Já ganhei meu dia. =)

9. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 20:11h

homemsemnome escreveu:
Também não funfou, mas deixa para lá.
velho ... alguma coisa vc fez errado ... olha minhas saídas

mauricio@Phanton:~$ grep -r "Linux" ~/*.txt
/home/mauricio/ju.txt:Linux é bom
/home/mauricio/ju.txt:Linux é o kra
/home/mauricio/po.txt:Eu uso Linux
/home/mauricio/po.txt:Eu não uso Linux
mauricio@Phanton:~$
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

10. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 20:21h

Mauriciodez escreveu:

homemsemnome escreveu:
Também não funfou, mas deixa para lá.
velho ... alguma coisa vc fez errado ... olha minhas saídas

mauricio@Phanton:~$ grep -r "Linux" ~/*.txt
/home/mauricio/ju.txt:Linux é bom
/home/mauricio/ju.txt:Linux é o kra
/home/mauricio/po.txt:Eu uso Linux
/home/mauricio/po.txt:Eu não uso Linux
mauricio@Phanton:~$
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Eu até copiei o seu comando com o colar/copiar e deu erro mesmo assim.

desktop@debian:~$ grep -r "Linux" ~/*.txt
grep: /home/desktop/*.txt: Arquivo ou diretório não encontrado
desktop@debian:~$

11. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 20:32h

homemsemnome escreveu:

Eu até copiei o seu comando com o colar/copiar e deu erro mesmo assim.
tem base não velho .... posta a saída aí pra eu ver

find /home -iname '*.txt' 
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

12. Re: Script para ler aquivo [RESOLVIDO]

Enviado em 18/07/2016 - 20:38h

Mauriciodez escreveu:

desktop@debian:~$ find /home -iname '*.txt'
find: `/home/lost+found': Permissão negada
/home/desktop/.mozilla/firefox/rlesvwnw.default/Adguard/filterrules_2.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/Adguard/filterrules_109.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/Adguard/filterrules_9.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/Adguard/filterrules_8.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/extensions/https-everywhere@eff.org/chrome/locale/README.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/SiteSecurityServiceState.txt
/home/desktop/.mozilla/firefox/rlesvwnw.default/revocations.txt
/home/desktop/Documentos/Homem/Avaliação.txt
/home/desktop/.pki/nssdb/pkcs11.txt
/home/desktop/.config/libreoffice/4/user/uno_packages/cache/log.txt
/home/desktop/.config/libreoffice/4/user/temp/document_io_logring.txt
/home/desktop/.cache/tracker/db-locale.txt
/home/desktop/.cache/tracker/miner-applications-locale.txt
/home/desktop/.cache/tracker/last-crawl.txt
/home/desktop/.cache/tracker/first-index.txt
/home/desktop/.cache/tracker/db-version.txt
01 02 03

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder