X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/849106f7246e47bc077d7f3b8228cec717a8e63d..26f0533782d8c57fb95b8df4f55057edcbf17703:/unitproc/bktemp-list_days_of_year.sh diff --git a/unitproc/bktemp-list_days_of_year.sh b/unitproc/bktemp-list_days_of_year.sh deleted file mode 100644 index da36db8..0000000 --- a/unitproc/bktemp-list_days_of_year.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env bash - -yell() { echo "$0: $*" >&2; } # print script path and all args to stderr -die() { yell "$*"; exit 111; } # same as yell() but non-zero exit status -try() { "$@" || die "cannot $*"; } # runs args as command, reports args if command fails -list_days_of_year() { - # Desc: Lists days of year in ISO-8601 YYYY-mm-dd format - # Usage: script.sh [str year] - # Input: arg1: year (4 digit gregorian calendar year) - # Output: stdout: iso-8601 dates (newline delimited) - # Depends: bash (5.1.16), GNU Coreutils (8.32; date, printf) - # Version: 0.0.1 - # Ref/Attrib: [1] Linux Bash: How to print leading zeroes on a variable https://bytefreaks.net/gnulinux/bash/linux-bash-how-to-print-leading-zeroes-on-a-variable - - # Check arg - ## Validate argument count - if [[ $# -ne 1 ]]; then die "FATAL:Invalid number of arguments:$#"; fi; - year="$1"; - - ## Validate arg is a 4-digit year - pattern='^[0-9]{4}$'; - if [[ ! $year =~ $pattern ]]; then die "FATAL:Not a 4-digit year."; fi; - if [[ ! $year -gt 1582 ]]; then die "FATAL:Not a gregorian calendar year."; fi; - - yyyy=$year; - for (( month = 1; month <= 12; month++ )); do - mm="$(printf %02d "$month")"; # two-digit month; See [1] - #yell "DEBUG:mm:$mm"; - for (( day = 1; day <= 31; day++ )); do - dd="$(printf %02d "$day")"; # two-digit day; See [1] - #yell "DEBUG:dd:$dd"; - date_iso8601="$yyyy-$mm-$dd"; - if date --date="$date_iso8601" 1>/dev/random 2>&1; then - printf "%s\n" "$date_iso8601"; - fi; - done; - done; -}; # iso-8601 dates (yyyy-mm-dd) to stdout - -# Test -wc -l < <(list_days_of_year 1583); # should report 365 lines -wc -l < <(list_days_of_year 2023); # should report 365 lines -wc -l < <(list_days_of_year 2024); # should report 366 lines (leap year) -wc -l < <(list_days_of_year 2025); # should report 365 lines -wc -l < <(list_days_of_year 9999); # should report 365 lines - -# Author: Steven Baltakatei Sandoval -# License: GPLv3+ - -# Ref/Attrib -# # date (GNU coreutils) 8.32 -# # Copyright (C) 2020 Free Software Foundation, Inc. -# # License GPLv3+: GNU GPL version 3 or later . -# # This is free software: you are free to change and redistribute it. -# # There is NO WARRANTY, to the extent permitted by law. - -# # Written by David MacKenzie. - - -# # printf (GNU coreutils) 8.32 -# # Copyright (C) 2020 Free Software Foundation, Inc. -# # License GPLv3+: GNU GPL version 3 or later . -# # This is free software: you are free to change and redistribute it. -# # There is NO WARRANTY, to the extent permitted by law. - -# # Written by David MacKenzie. - - -# # GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu) -# # Copyright (C) 2020 Free Software Foundation, Inc. -# # License GPLv3+: GNU GPL version 3 or later - -# # This is free software; you are free to change and redistribute it. -# # There is NO WARRANTY, to the extent permitted by law.