Как получить последние 12 12 месяцев от Cygwin "дата", включая февраль - PullRequest
0 голосов
/ 29 сентября 2011

Я хочу создавать каталоги за последние 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-е, он возвращается на месяц назад и интерпретирует 29 февраля как 1-е марта. Есть ли способ удостовериться, что я тоже получу каталог февраля?

1 Ответ

1 голос
/ 29 сентября 2011

Попробуйте это:

echo "$(date -d "$(date +%Y-%m-15) -$i months" +%Y-%m)-01"

Это означает, что он пытается вернуться с 15 числа каждого месяца вместо текущего дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...