Cómo extraer cualquier dígito de una oración

Cómo extraer cualquier dígito de una oración

¿Podrías ayudarme con el greping? Tengo un:

variable="RMN quota:        0 bytes"

y

variable="RMN quota:        1.56 bytes"

La identificación de destino para obtener el resultado: 0 o 1,56.

¿Qué será preparado para ello?

Respuesta1

POSIXly:

n=${variable% bytes} # strip the trailing " bytes"
n=${n##*[[:blank:]]} # strip the leading part up to the rightmost blank

Respuesta2

Esto parece funcionar:

grep -Eo '[0-9]+(\.[0-9]+)?' inputfile  

Si está verificando el valor de una variable de shell en lugar del contenido de un archivo, puede hacer esto:

echo "$variable" | grep -Eo '[0-9]+(\.[0-9]+)?'

Respuesta3

Ya que tienes bash:

tr -d -c 0-9. <<<$variable

(también funcionaría en Zsh).

información relacionada