Com o GNU bash:
echo 'Version 13.0.R7.0 - Built on Tue Feb 09 18:47:29 EST 2016' | while IFS=" ." read -r a b c d rest; do echo $b $c $d; done
ou
while IFS=" ." read -r a b c d rest; do echo $b $c $d; done < filename
Saída:
13 0 R7
Estou escrevendo um script e tentando analisar um arquivo para obter uma versão do software. A saída é:
Version 13.0.R7.0 - Built on Tue Feb 09 18:47:29 EST 2016
Eu quero extrair o 13.0
(depois, vou cortar o .0
) com o regex ^1[0-9]\.0
e extrair o R7
com R[0-9]{1}
.
Eu sei como combiná-los, eu só não sei como colocar o valor que corresponde a regex em uma variável, é tal coisa possível?
Com o GNU bash:
echo 'Version 13.0.R7.0 - Built on Tue Feb 09 18:47:29 EST 2016' | while IFS=" ." read -r a b c d rest; do echo $b $c $d; done
ou
while IFS=" ." read -r a b c d rest; do echo $b $c $d; done < filename
Saída:
13 0 R7