アパートの建物の清掃名簿を作成する必要があり、可能であれば GNU bash で自動化したいと考えています。
要件:
- 入居者は毎週、床の廊下を掃除しなければなりません。
- サイクルは 2019 年 2 月 11 日に始まり、30 週間 (10x3) 続きます。
- 私の建物は4階建てです。
- フロアごとにタスクを実行できるテナントは 10 人です。
- テナントの名前は、ファイル tenants.csv の 3 列目 (sep = |) にあります。
- 1 列目にはアパート番号が含まれており、214 のように 2 で始まる場合は、2 階にあることを意味します。
日付を自動的に生成し (月曜日から始まる週番号 %V の Date コマンドから)、csv ファイルからテナントの名前をマージしたいと考えています。date コマンドと %V の使用は、私が慣れているよりもずっと複雑です。これに対処する方法がわかりません。
望ましい出力 (2018 年の名簿から取得したサンプル):
Week of Floor 1 Floor 2 Floor 3 Floor 4
Sep 18, Nov 27, Feb 5 Ms.X Mr.Y Ms.XX Mr.YY
Sep 25, Dec 4, Feb 19 Ms.AA Ms.BB Mr.CC Mrs.DD
...
これまでのところ、表示 (処理できると思います) は、日付コマンドを取得して適切な日付を取得する方法に依存するため、これしかありません。
roster_start=$(date -d "20190211") # 11 fev 2019 start of cleaning roster
yr=2019; wk=6
date -d "Feb 6 $yr" +%V
date -d "20190211"
printf "\nWeek of\tFloor 1\t\tFloor 2\t\tFloor 3\t\tFloor 4\n"; \
for wk in 6 16 26 "$yr"; do
printf "%s\t" "$d"
date -d "$wk" +"%b %e"
done
ご協力いただきありがとうございます。