あと何ヶ月生きられるか

936個のドットを見てあなたは何を思いますか? - IDEA*IDEA ~ 百式管理人のライフハックブログ にインスパイヤされて、日本人の平均寿命から、あとどのくらい生きられるかを可視化してみます。

計算を少し楽にするために平均年齢を 79.29 歳として、さらに 1 ヶ月を 30 日としています。

#! /usr/local/bin/gawk -f
# how_longer_do_i_live.awk
# あと何ヶ月生きられるか
# usage: gawk -f how_longer_do_i_live.awk YYYY/MM/DD

BEGIN {

    # 平均寿命
    # Ref: http://www.mhlw.go.jp/toukei/saikin/hw/life/life07/01.html
    life_expectancy = 79.29;

    birth_day = ARGV[1];
    split(birth_day, arr_birth_day, /\//);
    birth_unix_time = mktime(arr_birth_day[1] " " arr_birth_day[2] " "\
                        arr_birth_day[3] " 00 00 00");

    now_unix_time = systime();
    now_month = int(now_unix_time / 60 / 60 / 24 / 30);

    elapsed_second = now_unix_time - birth_unix_time;
    # 1 ヶ月は平均 30 日で計算
    elapsed_month = int(elapsed_second / 60 / 60 / 24 / 30);

    life_month = int(life_expectancy * 12);

    for (i = 1; i <= life_month; i++) {

        if (i <= now_month) {
            printf("*");
            a++;
        } else {
            printf("o");
            b++;
        }

        if (i % (5 * 24) == 0 ) {
            print " " ++j * 10;
        } else if (i % (5 * 12) == 0) {
            print "";
        }
    }

    print "";
}

この「How longer do I live?」という言葉は映画「ブレードランナー」の中の台詞ですね。

実行してみましょう。

$ gawk -f how_longer_do_i_live.awk 1944/12/25
************************************************************
************************************************************ 10
************************************************************
************************************************************ 20
************************************************************
************************************************************ 30
************************************************************
************************************************************ 40
************************************************************
************************************************************ 50
************************************************************
************************************************************ 60
************************************************************
*********************ooooooooooooooooooooooooooooooooooooooo 70
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooo

こんなことを考えるようになったのは、親父が末期癌になってからですが、人生って高々 1000 足らずの月しかないんですね。

tag_gawk.png tag_gawk.png