シェルワンライナー160本ノック問題69
問題69 うるう秒
うるう秒があった日を出力する問題だった。うるう秒がコンピュータ上でどう表現されているのかをきちんと理解できていなかったので解けなかった。
解答例は
printf "%s 9 1sec ago\n" {1970..2017}-{01,07}-01 | TZ=right/Japan date -f- | grep :60
となる。うるう秒は59分60秒と表示されることを生かしている。答えを聞けばずいぶん簡単に思えるが自分で答えるのはやっぱり難しい。
そういえばうるう秒の調整は3月または9月末にも入ることがあるらしいがそれは考慮しなくてよかったのかと思い、改めてワンライナーを走らせてみたが結果に変わりはなかったのでよしとする。