Не могу понять как сделать следующее:
есть скрипт вида#!/bin/bash
edate=`cal|xargs|awk '{print $NF}'`
for ((i=1;i<$edate+1;i++));
do
printf "`date +%Y-%m`-%02u\n" "${i}";
doneдает текущий месяц
дальше
echo "Прошлое воскресение: `date --date="last sunday" +%F`"
#date --date="sunday" +%F
echo "Следующее воскресение: `date --date="this sunday" +%F`"
echo "Воскресение через 1 неделю: `date --date="sunday 1 week" +%F`"
echo "Воскресение через 2 недели: `date --date="sunday 2 week" +%F`"
echo "Воскресение через 3 недели: `date --date="sunday 3 week" +%F`"как их соединить вместе для любого месяца
поясню нужно чтоб скрипт выше выводил все воскресения месяца
то есть он выводил
2011-11-01
...
2011-11-06!
2011-11-07
...
2011-11-13!
2011-11-14
...
2011-11-20!
...
2011-11-27!
2011-11-28
...
2011-11-30Спасибо.
> как их соединить вместе для любого месяцаМожно передавать номер месяца как аргумент команды cal.
>> как их соединить вместе для любого месяца
> Можно передавать номер месяца как аргумент команды cal.не стал я заморачиваться сильно и сделал все просто
for ((i=1;i<$edate+1;i++));
do
eval="`date +%Y-%m`-$i";
echo "$eval -" >>$tableb;
done
for ((i=1;i<$edate+1;i++));
do
eval="`date +%Y-%m`-$i";
if [[ $eval == $sunlast ]]; then
echo "$eval" >>$tablea;
else
if [[ $eval == $sunnext ]]; then
echo "$eval">>$tablea;
else
if [[ $eval == $sun1week ]]; then
echo "$eval">>$tablea;
else
if [[ $eval == $sun2week ]]; then
echo "$eval">>$tablea;
else
if [[ $eval == $sun3week ]]; then
echo "$eval">>$tablea;
else
echo "$eval -">>$tablea;
fi
fi
fi
fi
fi
done
так