Können Sie mir beim Greping helfen? Ich habe ein:
variable="RMN quota: 0 bytes"
Und
variable="RMN quota: 1.56 bytes"
Die Ziel-ID für die Ausgabe: 0 oder 1,56.
Was wird dafür grep?
Antwort1
POSIX:
n=${variable% bytes} # strip the trailing " bytes"
n=${n##*[[:blank:]]} # strip the leading part up to the rightmost blank
Antwort2
Das scheint zu funktionieren:
grep -Eo '[0-9]+(\.[0-9]+)?' inputfile
Wenn Sie den Wert einer Shell-Variablen und nicht den Inhalt einer Datei prüfen, können Sie Folgendes tun:
echo "$variable" | grep -Eo '[0-9]+(\.[0-9]+)?'
Antwort3
Da Sie Bash haben:
tr -d -c 0-9. <<<$variable
(würde auch in Zsh funktionieren).