Skip to main content
added language prettify tag
Source Link
Jeff Schaller
  • 68.8k
  • 35
  • 122
  • 267

Using GNU date and brute force:

start=20170101 end=20170630 cur=$start increment="1 day" while [ $(date +%s -d "$cur") -le $(date +%s -d "$end") ] do if [ "$(date +%A -d "$cur")" = "Saturday" ] then printf "%s\n" "$cur" increment="1 week" fi cur=$(date +%Y%m%d -d "$cur + $increment") done 
start=20170101 end=20170630 cur=$start increment="1 day" while [ $(date +%s -d "$cur") -le $(date +%s -d "$end") ] do if [ "$(date +%A -d "$cur")" = "Saturday" ] then printf "%s\n" "$cur" increment="1 week" fi cur=$(date +%Y%m%d -d "$cur + $increment") done 

Using GNU date and brute force:

start=20170101 end=20170630 cur=$start increment="1 day" while [ $(date +%s -d "$cur") -le $(date +%s -d "$end") ] do if [ "$(date +%A -d "$cur")" = "Saturday" ] then printf "%s\n" "$cur" increment="1 week" fi cur=$(date +%Y%m%d -d "$cur + $increment") done 

Using GNU date and brute force:

start=20170101 end=20170630 cur=$start increment="1 day" while [ $(date +%s -d "$cur") -le $(date +%s -d "$end") ] do if [ "$(date +%A -d "$cur")" = "Saturday" ] then printf "%s\n" "$cur" increment="1 week" fi cur=$(date +%Y%m%d -d "$cur + $increment") done 
Source Link
Jeff Schaller
  • 68.8k
  • 35
  • 122
  • 267

Using GNU date and brute force:

start=20170101 end=20170630 cur=$start increment="1 day" while [ $(date +%s -d "$cur") -le $(date +%s -d "$end") ] do if [ "$(date +%A -d "$cur")" = "Saturday" ] then printf "%s\n" "$cur" increment="1 week" fi cur=$(date +%Y%m%d -d "$cur + $increment") done