我想创建过去12个月的目录,每当我运行脚本时都会启动。我有这个代码,这是%90好:
for i in {1..12}; do
mkdir "$(date -d "$i months ago" +%Y-%m)-01"
问题是,它不是创建一个2011-02-01
目录,而是尝试创建2个2011-03-01
目录。我的猜测是,因为今天是29日,它一次又回到一个月,并将2月29日解释为3月1日。有什么方法可以确保我得到一个二月的目录吗?
答案 0 :(得分:1)
试试这个:
echo "$(date -d "$(date +%Y-%m-15) -$i months" +%Y-%m)-01"
这意味着它会尝试从每月的15日而不是当天返回。