Ruby,将cron范围转换为数字

时间:2014-09-11 12:49:59

标签: ruby

使用Ruby

我希望将cron中出现的任何范围扩展为范围ex:

中包含的数字
0,5,7,30-35  1,3-8,20  * * *  /script.sh

扩展:

0,5,7,31,32,33,34,35  1,3,4,5,6,7,8,20  * * * /script.sh

感谢任何帮助

1 个答案:

答案 0 :(得分:4)

假设0,5,7,30-35 1,3-8,20 * * * /script.sh是一个字符串,一个简单的gsub就可以了:

str = "0,5,7,30-35 1,3-8,20 * * * /script.sh"

str.gsub(/(\d+)-(\d+)/) { ($1..$2).to_a.join(',') }
#=> "0,5,7,30,31,32,33,34,35 1,3,4,5,6,7,8,20 * * * /script.sh"