Автоматизация реестра с помощью Bash

Я должен создать список очистки для жилого дома и хотел бы автоматизировать его с помощью GNU bash, если это возможно.

Требования:

  • Арендаторы должны убирать коридор на полу каждую неделю.
  • Цикл начинается 11 февраля 2019 года и длится 30 недель (10х3).
  • В моем доме 4 этажа.
  • На каждом этаже могут работать 10 арендаторов.
  • Имена арендаторов находятся в 3-м столбце файла tenants.csv, (sep = |).
  • 1-й столбец содержит номер квартиры, который, если он начинается с 2, например 214, означает, что они расположены на 2 этаже.

Я хотел бы сгенерировать даты автоматически (может быть, из команды Date с номером недели%V, которая начинается по понедельникам) и объединить имена арендаторов из файла 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
...

Пока у меня есть только это, поскольку отображение (которое я могу обработать, я думаю) зависит от того, как я получаю команду date, чтобы дать мне правильные даты:

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

Спасибо за любую помощь, которую вы можете предоставить.

0 ответов

Другие вопросы по тегам