#! /bin/bash
set -euo pipefail

NOW=`date +"%Y-%m-%d"`

if [[ $# != 2 ]]
then
    echo "Принимается два аргумент - шаблона и дата. Получено: $#" 1>&2
    for x in $@
    do
        echo "$x" 1>&2
    done
    exit 1
fi

OS=`uname`
if [[ "$OS" == "Linux" ]]
then
    DATE=`date +"%Y-%m-%d" -d $2`
elif [[ "$OS" == "Darwin" ]]
then
    DATE=`date -jf "%Y-%m-%d" $2 +"%Y-%m-%d"`
else
    echo "Незнакомая платформа: $OS" 1>&2
    exit 1
fi

if [[ $? != 0 ]]
then
    echo "Не распарсил дату, ожидаемый формат: $NOW. Получено: $2" 1>&2
    exit 1
elif [[ "$DATE" == "$NOW" ]]
then
    echo "Распарсил $2 как $NOW. Текущая дата не допукается." 1>&2
    exit 1
fi

sed -e "s/\${date}/$DATE/" $1
