Заметка об еще одной интересной, но забытой программе
В Linux, оказывается, помимо более-менее известной программы cal
, печатающей календарик:
$ cal
Январь 2015
Вс Пн Вт Ср Чт Пт Сб
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
есть также программа calendar
, печатающая список празников на сегодня-завтра:
$ calendar
Jan 20 George Burns born, 1898
Jan 20 St. Agnes Eve (Ah, bitter chill it was...)
Jan 21 Lenin died, 1924
Jan 21 Thomas Jonathan "Stonewall" Jackson born in Clarksburg, VA, 1824
Jan 21 День инженерных войск
В Debian (и Ubuntu) есть предустановленный список праздников разных стран,
который хранится в файлах в папке /usr/share/calendar/
.
Его можно дополнять, редактировать, и выбирать, праздники каких стран нас интересуют.
Для этого достаточно изменить файл calendar.all
,
но все редактируемые файлы желательно перенести в /etc/calendar
, от dpkg подальше.
Однако, у меня обнаружилась бага: в части файлов названия месяцев были записаны по-русски, а программа их не понимала и считала, что этот праздник должен быть каждый месяц :-)
Конечно, это легко исправить - достаточно поменять названия месяцев с русского на английский. В этом нам поможет sed - достаточно перейти в папку с проблемными файлами и выполнить такую команду:
sed -i 's/янв\.\?/Jan/;s/фев\.\?/Feb/;s/мар\.\?/Mar/;s/апр\.\?/Apr/;s/май\.\?/May/;s/июн\.\?/Jun/;s/июл\.\?/Jul/;s/авг\.\?/Aug/;s/сен\.\?/Sep/;s/окт\.\?/Oct/;s/ноя\.\?/Nov/;s/дек\.\?/Dec/;' *
Файлы с русскими праздниками лежат в папке /usr/share/calendar/ru_RU/
,
а перенести их желательно в папку /etc/calendar/ru_RU/
:
mv -r /usr/share/calendar/ru_RU/ /etc/calendar/
Команды выполнять, конечно, от root'а :-)