先ほど、指定月の第何何曜日を取得するスクリプトを作成したのだが、もうちょっといいツールが無いか探して見たところ、dateutilsというものを見つけた。
これのdateconvを使えば、かなり簡単に指定曜日の日付を取得出来そうだ。
1.インストール
インストールは、RHEL系だとコンパイルが必要のようだ。
以下のコマンドを実行する。
wget https://bitbucket.org/hroptatyr/dateutils/downloads/dateutils-0.3.4.tar.xz
tar xvf dateutils-0.3.4.tar.xz
cd dateutils-0.3.4
./configure
make
make install
Ubuntuの場合、apt-getでインストールできる。
sudo apt-get install dateutils
これでインストールが完了する。
2.コマンドの実行
さて、それでは早速コマンドを実行してみよう。
以下のように実行する事で、指定した月の第何何曜日を取得できる。
dateconv YYYY-MM-何週目か-曜日 -i "%Y-%m-%c-%a" -f '%Y/%m/%d'
[root@test-centos7 ~]# dateconv 2015-01-03-Mon -i "%Y-%m-%c-%a" -f '%Y/%m/%d'
2015/01/19
[root@test-centos7 ~]# cal 01 2015
1月 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
[root@test-centos7 ~]#
[root@test-centos7 ~]# dateconv 2015-11-03-Mon -i "%Y-%m-%c-%a" -f '%Y/%m/%d'
2015/11/16
[root@test-centos7 ~]# cal 11 2015
11月 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
お~、こりゃ楽だわ。
他にも色々なツールがあるみたいだし、うまく使いこなせれば何かできるかも。。。