Como fazer grep com qualquer dígito da frase

Como fazer grep com qualquer dígito da frase

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).

informação relacionada