
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