Автоматизация реестра с помощью 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
Спасибо за любую помощь, которую вы можете предоставить.