BigJubel - calculate current jubilees


bigjubel [-chvy] [-b integer] [-e integer] [-m integer] [-l language] [-i infile] [-o outfile]


Calculate jubilees that you might otherwise miss, for instance the 7777-day jubilee of your birth!

The input to bigjubel consists of a list of events. For a timeframe around today, jubilees of these events are calculated and returned as output.


-b integer

number of days to check for jubilees before today (default is 100)

-e integer

number of days to check for jubilees after today (default is 266)

-m integer

maximum number of jubilees to output (default is -1, i.e. no limit)

-l language

two letter language code of the desired language (by default, use locale). For instance, use en for English or de for German.

-i infile

filename of input (default is 'BigJubel.txt', '-' for standard input)

-o outfile

filename for output (default is '-', i.e. standard input)


set output format to colored formatting using VT100 escape sequences


set output format to YAML


print usage, short help and authors, then exit


print version and exit


Each line of the input stream is interpreted as an event. However, empty lines are ignored, as well as lines starting with a hash sign # which may be used for comments.

A line describing an event must start with a date in the DD.MM.YYYY format followed by a dot and the description of the event, e.g:

06.03.1999.Today, the first version of BigJubel is # old.

06.03.1999.Die erste funktionierende Version von BigJubel ist nun schon {3} alt.

This description must contain a marker which will be replaced by the amount of time since the event.

This marker may be a hash sign # or an integer surrounded by curly brackets, e.g. {2}. In languages without declension like English, the hash sign is sufficient:

For example: # turns into 222 days.

In languages with declension like German, the integer in the curly brackets denotes the grammatical case to use for the description of the amount of time:

{0} sind vergangen turns into 3 Jahre sind vergangen (1st case: Nominativ)

{1} turns into 1 Tages (2nd case: Genitiv)

seit {2} turns into seit 4 Monaten (3rd case: Dativ)

schon {3} alt turns into schon 1 Woche alt (4th case: Akkusativ).

The end of line may be CRLF or LF, however output always uses LF.


There are several output formats: text-based, colored text, and YAML.

The default format is purely text-based: The first line is a header describing the time frame for which jubilees have been calculated. All other lines describe jubilees: the date of the jubilee and the corresponding event's description where the markers have been replaced by time since the event A tilde ~ denotes today's jubilees and an asterisk * marks anniversaries (i.e. yearly jubilees).

The colored output format differs from this only slightly: Instead of denoting today and anniversaries with characters, it uses VT100 color escape sequences.

The YAML output format is easy to parse by other programs, bigjubelweb, for instance.


I recommend using an alias in, for instance, your ~/.bashrc to quickly check your jubilees:

alias bigj='bigjubel -lde -b2 -e1 -c -i ~/.config/bigjubelevents.txt'


Run bigjubel -h to list the authors.


See the LICENSE file for the terms of redistribution.


bigjubelweb(1), bigjubeldesktop(1),


See the TODO file in the distribution.