echo DEN_ML2.3_R02.zip | grep -o '[0-9]\+'
Output:
2
3
02
我想从 DEN_ML2.3_R02.zip
中 grep 2.3
和 02
并分配给变量
最佳答案
$ echo DEN_ML2.3_R02.zip | grep -Eo '\-?[0-9]+(\.[0-9]+)?'
_________ _
^ ^
group quantifier
量词 ?
表示组是可选的
输出:
2.3
02
分配给变量要求:
$ read a1 a2 < <(echo $(grep -Eo '\-?[0-9]+(\.[0-9]+)?' <<< "DEN_ML2.3_R02.zip"))
或
$ read a1 a2 < <(
grep -Eo '\-[0-9]+(\.[0-9]+)?' <<< "DEN_ML2.3_R02.zip" |
tr '\n' ' '
)
结果:
$ echo $a1
2.3
$ echo $a2
02
关于linux - 如何在shell中提取数字并分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49307002/