Comando para copiar o numero que esta na frente do comando grep que usei

1. Comando para copiar o numero que esta na frente do comando grep que usei

Flávio Olimpio Sanches Neto
flavio_olimpo

(usa Outra)

Enviado em 09/09/2016 - 21:53h

Boa noite pessoal,
Pessoal, queria saber se existe um comando para que eu posso pegar o valor de um numero depois que grep que utilizei.

exemplifico:

R5 R(5,6) 1.0965 0.92 1.273 estimate D2E/DX2

eu tenho seguinte valor acima, e queria pegar o valor "1.0965"
Eu usei o seguinte comando:
grep R(5,6) | awk '{print $4}

so que nesse caso ele pega esse valor pra mim, so que existe varias tabela dessa no meu arquivo e nem sempre ele esta na 4 coluna, mas sempre esta na frente da expressão regular "R(5,6)". Eu sei que em Fortram é possivel pegar o valor [25:35], ou seja, que esta entre o caracter 25 e 35, minha pergunta é, existe um comando similar no linux ?


Grato!


  


2. Re: Comando para copiar o numero que esta na frente do comando grep que usei

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 09/09/2016 - 22:53h

flavio_olimpo escreveu:

Boa noite pessoal,
Pessoal, queria saber se existe um comando para que eu posso pegar o valor de um numero depois que grep que utilizei.

exemplifico:

R5 R(5,6) 1.0965 0.92 1.273 estimate D2E/DX2

eu tenho seguinte valor acima, e queria pegar o valor "1.0965"
Eu usei o seguinte comando:
grep R(5,6) | awk '{print $4}

Grato!


Olá,
para pegar o valor "1.0965"
use egrep -o
supondo que o arquivo sejá teste.txt

egrep -o '([0-9.]{6})' teste.txt

---> Márcio M M <---


3. Re: Comando para copiar o numero que esta na frente do comando grep que usei

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/09/2016 - 00:24h

flavio_olimpo escreveu:

Boa noite pessoal,
Pessoal, queria saber se existe um comando para que eu posso pegar o valor de um numero depois que grep que utilizei.

exemplifico:

R5 R(5,6) 1.0965 0.92 1.273 estimate D2E/DX2

eu tenho seguinte valor acima, e queria pegar o valor "1.0965"
Eu usei o seguinte comando:
grep R(5,6) | awk '{print $4}

so que nesse caso ele pega esse valor pra mim, so que existe varias tabela dessa no meu arquivo e nem sempre ele esta na 4 coluna, mas sempre esta na frente da expressão regular "R(5,6)". Eu sei que em Fortram é possivel pegar o valor [25:35], ou seja, que esta entre o caracter 25 e 35, minha pergunta é, existe um comando similar no linux ?
Grato!


Boa noite Flavio.
Seguem algumas opções para "pegar" determinados caracteres:
echo "abcdefghijklmnopqrstuvxz" | awk -F "" '{for(x=10;x<=19;x++) printf $x;printf "\n"}' # Do 10º ao 19º
jklmnopqrs

Tem uma opção com o "bash"
VAR="abcdefghijklmnopqrstuvxz"
echo ${VAR:0:5}
abcde
echo ${VAR:10:25}
klmnopqrstuvxz

O cut tbem faz . . .
cut -c 10-15 <<< $VAR
jklmno

E o "SED", não poderia ficar fora dessa . . . :)
sed -r 's/^.{10}//;s/.//7g' <<< "R5 R(5,6) 1.0965 0.92 1.273 estimate D2E/DX2"
1.0965

Att:
Marcelo Oliver







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts