わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

ひと手間かけて,見た目はシンプルに

いきなりですが過去問です.

dateコマンドを使用して,昨日の曜日を表示する方法を答えなさい.

Windowsでもdateコマンドが使えるらしいのですが,ここでは,Linux上で実行するものとします.
さっそくですが解答です.

date -d yesterday +%A

とすれば,雑記を書いている今は火曜日なので,「月曜日」と出力されます.英語表記にしたければ,

env LC_ALL=C date -d yesterday +%A

とします.bashzshでは,先頭の「env 」はなくてもかまいません.
「表示する」のなら,

date -d yesterday

とするのでも,間違いではありません.実際,出力の中に曜日情報が含まれています.ただしその場合,昨日の曜日以外も表示されるわけですから,無駄が多いようにも思えます.
実行コマンドにもうひと手間かけて,出力をシンプルに明快にすべきか,実行コマンドの字数を少なくして,アウトプットから際立つ情報を目で発見すべきか…というのは,プレゼンテーションの準備においても,じゅうぶんに配慮したいものです.
冒頭に「過去問」と書きましたが,2002年度後期に携わったプログラミング演習科目で,出席がわりの小問が元ネタです.都合によりリンクはしません.dateコマンドの詳細は,Man page of dateからどうぞ.