我想只返回bash shell中字符串变量的数字。例如,对于:
#!/bin/sh
file="./file_02.txt"
file_num_tag=?????????????????
echo $file_num_tag
...我想回来
>>> 02
我知道这是非常微不足道的,但是我在寻找答案时感到困惑,我想知道最好的方法。
答案 0 :(得分:6)
您可以使用此BASH字符串替换:
file="./file_02.txt"
echo "${file//[^[:digit:]]}"
02
[^[:digit:]]
将匹配并删除字符串file
中的所有非数字。
或使用tr
(如果不使用BASH):
num=`echo "$file" | tr -cd '[[:digit:]]'`