Capturar determinado trecho de um texto [RESOLVIDO]

1. Capturar determinado trecho de um texto [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/12/2017 - 21:45h

Olá, boa noite
Eu não sei se isso tem a ver com "Sed/Awk/ER", mas acredito que esteja envolvido com a manipulação de strings
Bom, vamos lá!


Número de tabelas: 488

&

Retorno do sistema: atualmente encontram-se 217 atividades inativas".


Eu queria capturar o 488 sem vir antes o "número de tabelas:" e desejaria capturar - somente - o "encontram-se 217 atividades".

@edit: Ambos encontram-se num arquivo de texto
Como faço isso? Eu sei como retornar a string toda, mas eu quero delimitar isso.
Alguém tem um link, ou alguma dica para me guiar? Obrigado e tenha uma boa noite.


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/12/2017 - 22:48h

mauricio@phantom ~ $ cat txt.txt
Número de tabelas: 488
Retorno do sistema: atualmente encontram-se 217 atividades inativas
mauricio@phantom ~ $


mauricio@phantom ~ $ grep "Número" txt.txt | sed 's/[^0-9]//g'
488
mauricio@phantom ~ $ grep "Número" txt.txt | awk '{print $NF}'
488
mauricio@phantom ~ $ grep "Número" txt.txt | awk '{print $4}'
488
mauricio@phantom ~ $ grep "sistema" txt.txt | awk '{print $5,$6,$7}'
encontram-se 217 atividades
mauricio@phantom ~ $



------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------


3. Re: Capturar determinado trecho de um texto [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/12/2017 - 23:23h

Mauriciodez escreveu:

mauricio@phantom ~ $ cat txt.txt
Número de tabelas: 488
Retorno do sistema: atualmente encontram-se 217 atividades inativas
mauricio@phantom ~ $


mauricio@phantom ~ $ grep "Número" txt.txt | sed 's/[^0-9]//g'
488
mauricio@phantom ~ $ grep "Número" txt.txt | awk '{print $NF}'
488
mauricio@phantom ~ $ grep "Número" txt.txt | awk '{print $4}'
488
mauricio@phantom ~ $ grep "sistema" txt.txt | awk '{print $5,$6,$7}'
encontram-se 217 atividades
mauricio@phantom ~ $



------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------


Obrigado! Mas poderia me explicar a lógica desses comandos? Para eu ir podendo fazer sozinho? Porque tem mais trechos a destrinchar, como por exemplo este: "[20:03:32] [Server thread/INFO]: There are 0/20 players online:". No caso, eu desejaria pegar apenas o "0/20". Como ficaria?

Obrigado mais uma vez e boa noite.


4. Re: Capturar determinado trecho de um texto [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/12/2017 - 00:14h

sheeL escreveu:
Obrigado! Mas poderia me explicar a lógica desses comandos? Para eu ir podendo fazer sozinho? Porque tem mais trechos a destrinchar, como por exemplo este: "[20:03:32] [Server thread/INFO]: There are 0/20 players online:". No caso, eu desejaria pegar apenas o "0/20". Como ficaria?

Obrigado mais uma vez e boa noite.


grep "Número" txt.txt >>> Retorna a linha que contenha "Número" no arquivo txt.txt
sed 's/[^0-9]//g' >>> Retorna só números
awk '{print $NF}' >>> Retorna a ultima coluna ( com delimitador padrão )
awk '{print $4}' >>> Retorna a 4ª coluna ( com delimitador padrão )
awk '{print $5,$6,$7}' >>> Retorna a 5ª 6ª e 7ª coluna ( com delimitador padrão )

Nota: quando o delimitador não é especificado pelo parametro -F, o padrão é " " (espaço)


[20:03:32] [Server thread/INFO]: There are 0/20 players online:


Busque seu padrão e vc pode obter "0/20" com esse ( não vou especificar o padrão pq não sei qual é ).
awk '{print $6}' >>>  imprime/retorna a sexta coluna 


------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts