Wikipedia has an article on ISO week dates The "first week" is defined to be the one with the first thursday in it. The article states that this is equivalent to Jan 4th is always in week 1. GNU date allows you to give dates like date -d "Jan 4 2021 +3 weeks" which will get you a date in the 4th week, not usually a monday.
Using date we can find the day of the week, and use that to adjust the date to ask for.
#!/bin/bash # pass in $1 as the week number and $2 as the year # Make sure we are no going to be bothered by daylight saving time # Use explicit time idea from https://unix.stackexchange.com/a/688968/194382 export TZ=UTC # Jan 4th is always in week 1. ask for the day of the week that is # $1-1 weeks ahead. %u gives 1 for Monday, 2 for tuesday, ... weekday=$(date -d"13:00 Jan 4 $2 +$(($1 -1)) weeks" "+%u") # So now just go back 0 days for a monday, 1 day for tuesday ... # Could use Jan 5 and go back 1 day for monday instead. date -d"13:00 Jan 4 $2 +$(($1 -1)) weeks -$((weekday -1)) days" "+%a %F (%G %V)"
So for 2021 this shows the monday of week 1 was 2021-01-04, and for 2020 it was 2019-12-30 (i.e. at the end of the previous year)
-dflag isn't standard, should we assume you are using Linux, or at least GNU date?