Bash脚本:通过引用那周的星期一得到一个星期的一周

我希望能够在Ubuntu Linux中使用bash脚本检索当前星期一的数字。

示例和信息:上个星期一(10月30日)是十月的第五个星期一,星期三是第一天,显然是十一月的第一个星期三。 我试图做的脚本将validation备份过程是否有正确的一周媒体可用。 媒体方面,我有1-5周的时间。 该脚本将运行,并检查星期一是星期一在本周。 本周它将检查和发现星期一是第五个星期一,这意味着第五周的媒体应该出席。 下周它会检查并发现这是第一个星期一,所以第一周的媒体应该出席。

该脚本将每天运行(周一至周五),并只参考星期一的星期编号。 星期一,星期一,星期一,星期二,星期三,星期一,星期一。

我有一个date命令与一些算术,让我在这个月的数字周,但它只会做当天的基础上。 它是这个:

$((($(date +%-d)-1)/7+1)) 

希望我解释得很好,不要太困惑。

任何帮助,将不胜感激。 谢谢!

我们可以通过参数-d来确定date的基础,而不是今天的date。 有效的格式string是'上周一',所以我们只需要检查今天是星期一:

 $ if [ "$(date +%A)" == "Monday" ]; then Monday="today"; else Monday="last Monday"; fi; echo $((($(date -d "$Monday" +%-d)-1)/7+1)) 5