如何检查字符串的第一个字符是否是bash中的数字?

时间:2012-07-16 14:02:21

标签: xml regex bash shell

我正在用bash编写一个xml元素。我需要将一些以数字开头的字符串替换为以字符开头的字符串,因此它是一个有效的XML标记(请记住xml标记不能以字母数字字符开头)。

例如,

  str = 192.16.76.52,1001

这不是一个有效的xml标签,即我无法做到

<192.16.76.52,1001>
.....
</192.16.76.52,1001>

所以,我打算检测它是否是一个数字,并用

之类的东西替换它
IP192.16.76.52

我知道我可以用IFS做到这一点,但可能需要很长时间和额外的代码。

由于您知道主要问题,请随时发表评论或提供建议。

由于

1 个答案:

答案 0 :(得分:6)

=[[的RHS采用了全局模式。

$ [[ 123 = [0-9]* ]] ; echo $?
0
$ [[ foo = [0-9]* ]] ; echo $?
1