你能帮我 grep 吗?我有一个:
variable="RMN quota: 0 bytes"
和
variable="RMN quota: 1.56 bytes"
要获取输出的目标 ID:0 或 1.56。
它会用 grep 来做什么?
答案1
POSIXly:
n=${variable% bytes} # strip the trailing " bytes"
n=${n##*[[:blank:]]} # strip the leading part up to the rightmost blank
答案2
这似乎有效:
grep -Eo '[0-9]+(\.[0-9]+)?' inputfile
如果您要检查 shell 变量的值而不是文件的内容,您可以这样做:
echo "$variable" | grep -Eo '[0-9]+(\.[0-9]+)?'
答案3
既然你有 bash:
tr -d -c 0-9. <<<$variable
(也可以在 Zsh 中工作)。