如何检查数字是否在一个范围内?

时间:2011-07-07 05:19:52

标签: bash

对于我正在编写的程序,我需要从文件中读取一个值。当我这样做时,我会以(x, y)的形式获得一个值。我需要创建一个分割这些内容的脚本,因此$xx value$yy value

然后,我需要检查一下。例如,检查$x$x-max之间是否$x-min$x-max$x-min是否为整数。

3 个答案:

答案 0 :(得分:3)

将字符串拆分为两个数字:

$ foo="(506,-664)"
$ declare -a bar=${foo//,/ }
$ for integer in ${bar[@]}
> do
>     echo "$integer"
> done
506
-664

答案 1 :(得分:1)

除非我把这一切都搞错了,否则我想你只需要处理字符串并派生数字组件。只需扫描字符串,直到“,”字符(对于x)然后从逗号后的第一个字符扫描到y的结尾。

答案 2 :(得分:0)

经过大量的搜索,我终于找到了答案。我想我看起来不够努力。对于遇到类似问题的人,代码是:

如果bar.txt包含(x,y),

$ cat /foo/bar.txt | tr -d“()”| sed's /,/ / g'| cut -d“” - f1 X $ cat /foo/bar.txt | tr -d“()”| sed's /,/ / g'| cut -d“” - f2 ÿ

我确信这样做的方式要少得多,但这让我得到了我需要的结果。