You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
12 years ago
|
#!/bin/bash
|
||
|
|
||
|
#Создан: Чт 06 Май 2010 02:44:00
|
||
5 years ago
|
#Изменён: Вс 23 фев 2020 13:27:43
|
||
12 years ago
|
|
||
|
# Скрипт напоминания о датах
|
||
|
#
|
||
|
# Формат файла DATAFILE:
|
||
|
#
|
||
|
# = Январь =
|
||
|
#
|
||
|
# * *01/01* - Событие 1
|
||
|
#
|
||
|
# = Февраль =
|
||
|
#
|
||
|
# * *02/02* - Событие 2
|
||
|
# * *03/02* - Событие 3
|
||
|
|
||
|
#Файл с данными
|
||
|
DATAFILE="$SHELLRC/vimwiki/wiki/ЖЖ/Даты и события/dates.wiki"
|
||
|
#За сколько дней оповещать
|
||
|
DAYS=3
|
||
|
#Сегодняшнее число
|
||
|
TODAY=$(\date +%s --date=$(\date '+%m/%d'))
|
||
|
#Количество найденных событий
|
||
|
FOUND=0
|
||
|
|
||
|
dates() {
|
||
5 years ago
|
echo -e "${green}Ближайшие даты:${rstc}"
|
||
12 years ago
|
|
||
|
#Поиск дат в базе данных
|
||
|
for i in $(seq 0 $DAYS); do
|
||
|
DATE=$(\date -d "UTC 1970-01-01 $(($TODAY + 86400*$i)) secs" '+%d/%m')
|
||
|
grep -v '#.*' "$DATAFILE" | grep $DATE && ((FOUND++))
|
||
|
done;
|
||
|
|
||
|
#Код возврата. 1 - не найдено дат.
|
||
|
[ $FOUND -eq 0 ] && echo "-" && exit 1 || exit 0
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
-all) cat "$DATAFILE";;
|
||
|
*) dates;;
|
||
|
esac
|
||
|
|