我正在编写一个使用跟踪路由的脚本。我正在迭代遍历路径的每一行,然后遍历每个单词(由空格分隔)。但是,有时跟踪路由返回*
字符,这会在回显时产生问题(输出文件名)。
我一直在摆弄RegEx,到目前为止我已经想到了这个:
if [[ $item =~ ^\d ]];
项目是跟踪路线的一部分。
对于跟踪路线中的每个项目,我只想检查第一个字符是否等于数字,然后相应地继续。
答案 0 :(得分:5)
\d
。您需要将其替换为[0-9]
,如下所示:
if [[ $item =~ ^[0-9] ]];
还可以使用[:digit:]
来简化阅读:
if [[ $item =~ ^[[:digit:]] ]];
答案 1 :(得分:1)
不需要使用正则表达式就足够了:
[[ $item == [0-9]* ]] && echo "it starts with a digit"
您也可以使用:
[[ $item == [[:digit:]]* ]]