我正在尝试在单行代码中创建一个bash变量,该代码从当天减去一天,然后获取减去日期的星期一日期。我如何在一行中完成这项工作。
我试过了:
date --date="1 days ago" -d "last monday"
但是这个选项但是这会先获得最后一个星期一并减去一天。我想减去一天,然后再到星期一。
答案 0 :(得分:1)
尝试:
$ date -d "$(date -d yesterday +%u) days ago"
Mon Aug 21 18:18:54 PDT 2017
工作原理:
date -d yesterday +%u
获取昨天的一周(1 =星期一,7 =星期日)。
date -d "$(date -d yesterday +%u) days ago"
返回日前的日期,以便在昨天之前获得星期一。
例如,因为今天是星期日,所以星期几是星期六(星期六)。 6天前是上个星期一。
如果今天是星期一,那么昨天的星期几是星期日,即7天,“7天前”将是今天的星期一。