Você poderia me ajudar com o grep? Eu tenho um:
variable="RMN quota: 0 bytes"
e
variable="RMN quota: 1.56 bytes"
O ID de destino para obter saída: 0 ou 1,56.
O que será grep para isso?
Responder1
POSIXamente:
n=${variable% bytes} # strip the trailing " bytes"
n=${n##*[[:blank:]]} # strip the leading part up to the rightmost blank
Responder2
Isso parece funcionar:
grep -Eo '[0-9]+(\.[0-9]+)?' inputfile
Se estiver verificando o valor de uma variável shell em vez do conteúdo de um arquivo, você pode fazer o seguinte:
echo "$variable" | grep -Eo '[0-9]+(\.[0-9]+)?'
Responder3
Já que você tem bash:
tr -d -c 0-9. <<<$variable
(também funcionaria em Zsh).