Bash:检查字符串包含一定范围内的数字

时间:2015-03-15 15:45:24

标签: bash shell command-line mips

我正在编写一个bash脚本来检查一些简单的MIPS指令的语法。我需要做的一件事就是检查是否给出了有效的寄存器号。

所以让我们说它读取指令......

add $s0, $s1, $s2

...它应该检查s之后的整数是否在给定范围内。我该如何实现?

**如果Google能够帮助我解决这个问题,请说明一下。我以为会有,但唉,我无法找到任何东西。 :(*

1 个答案:

答案 0 :(得分:1)

如果您想允许$ s0到$ s7但不高于此值,那么这将起作用:

grep -E '\$s([89]|\d\d)' myfile

如果你想要达到23但不超过它会变得更复杂:

grep -E '\$s(2[4-9]|[3-9]\d|\d\d\d)' myfile

对于31:

grep -E '\$s(3[2-9]|[4-9]\d|\d\d\d)' myfile