Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題67

問題67 曜日別に分割

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

その日食べたものの名前を曜日別に分類する問題だった。awk でシェルコマンドを使うという発想がなく、間違った複雑怪奇なワンライナーを作ってしまった。

解答例は

cat dinner | awk '{"date -d "$1" +%a"| getline t; print > t}'

となる。最初の date で日付を曜日に変換している。そしてパイプで変数 t に曜日をセットしたあと、print で行全体を出力し、その出力を変数 t に記録した曜日名のファイルにリダイレクトしている。これで食事の曜日別の分類ができる。