シェルワンライナー160本ノック問題65
問題65 各月の休日数
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
休日の数を数える問題だった。
解答例は
$ seq -f '2019-01-01 %g day' 0 364 | date -f - '+%Y-%m-%d %a' | join -a 1 - <(cat syukujitsu.csv | nkf -Lux | grep ^2019 | awk -F'[/ ,]' '{printf "%d-%02d-%02d %s\n",$1,$2,$3,$4}') | awk '$2~"[土|日]"||NF==3' | cut -c 1-7 | uniq -c
となる。日付の一覧を作成した後、休日データを成形したものと結合して整理して答えとしている。細かい話だが、日付フォーマットの+%Y-%m...のハイフンは何か特別な記号として用いられているわけではないので@に置き換えたりできる。