From 5201a455618b9b296d479c13183153d2409e834c Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Sat, 17 Aug 2024 15:44:15 -0700 Subject: [PATCH] use sort with LC_ALL=C We make sure that when we sort, we sort with `LC_ALL=C` as in: > LC_ALL=C sort ... Changed `bin/entry2csv.sh` VERSION from "1.2 2024-08-13" to "1.2.1 2024-08-17". Performed `make entry2csv` to test the above under macOS. Changed `bin/csv2entry.sh` VERSION from "1.2 2024-08-13" to "1.2.1 2024-08-17". Performed `make csv2entry` to test the above under macOS. Changed `bin/cvt-submission.sh` VERSION from "1.0.4 2024-08-11" to "1.0.5 2024-08-17". Changed `bin/gen-sitemap.sh` VERSION from "1.3.13 2024-08-05" to "1.3.14 2024-08-19". Changed `bin/new-dir.sh` VERSION from "1.3.1 2024-08-11" to "1.3.2 2024-08-17". Performed `make www` to test the above under macOS. --- bin/csv2entry.sh | 50 +++++++++++++++++++++---------------------- bin/cvt-submission.sh | 4 ++-- bin/entry2csv.sh | 34 ++++++++++++++--------------- bin/gen-sitemap.sh | 2 +- bin/new-dir.sh | 8 +++---- 5 files changed, 49 insertions(+), 49 deletions(-) diff --git a/bin/csv2entry.sh b/bin/csv2entry.sh index d4abfb080..b94e87302 100755 --- a/bin/csv2entry.sh +++ b/bin/csv2entry.sh @@ -142,7 +142,7 @@ shopt -s lastpipe # explicitly run the last command of the pipe line in the curr # set variables referenced in the usage message # -export VERSION="1.2 2024-08-13" +export VERSION="1.2.1 2024-08-17" NAME=$(basename "$0") export NAME export V_FLAG=0 @@ -745,12 +745,12 @@ fi if [[ -z $NOOP ]]; then if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV" 1>&2 fi - sort -t, -k1d,1 -k2d,2 "$TMP_AUTHOR_WINS_CSV" -o "$TMP_AUTHOR_WINS_CSV" + LC_ALL=C sort -t, -k1d,1 -k2d,2 "$TMP_AUTHOR_WINS_CSV" -o "$TMP_AUTHOR_WINS_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -921,15 +921,15 @@ done if [[ $V_FLAG -ge 5 ]]; then echo "$0: debug[5]: about to: sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY" 1>&2 fi -sort "$TMP_AUTHOR_HANDLE_INVENTORY" -o "$TMP_AUTHOR_HANDLE_INVENTORY" +LC_ALL=C sort "$TMP_AUTHOR_HANDLE_INVENTORY" -o "$TMP_AUTHOR_HANDLE_INVENTORY" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY failed," \ + echo "$0: ERROR: LC_ALL=C sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY failed," \ "error code: $status" 1>&2 exit 9 fi AUTHOR_DIFF=$(find "$AUTHOR_DIR" -mindepth 1 -maxdepth 1 -type f -name '*.json' 2>&1 | - sort | + LC_ALL=C sort | diff -u - "$TMP_AUTHOR_HANDLE_INVENTORY") export AUTHOR_DIFF if [[ -n $AUTHOR_DIFF ]]; then @@ -971,12 +971,12 @@ fi if [[ -z $NOOP ]]; then if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV" 1>&2 fi - sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 "$TMP_MANIFEST_CSV" -o "$TMP_MANIFEST_CSV" + LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 "$TMP_MANIFEST_CSV" -o "$TMP_MANIFEST_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1058,12 +1058,12 @@ fi if [[ -z $NOOP ]]; then if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV" 1>&2 fi - sort -t, -k1d,1 -k2d,2 "$TMP_YEAR_PRIZE_CSV" -o "$TMP_YEAR_PRIZE_CSV" + LC_ALL=C sort -t, -k1d,1 -k2d,2 "$TMP_YEAR_PRIZE_CSV" -o "$TMP_YEAR_PRIZE_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1295,12 +1295,12 @@ if [[ ! -s $TMP_YYYY_DIR_INV ]]; then fi # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t/ -d $TMP_YYYY_DIR_INV -o $TMP_YYYY_DIR_INV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t/ -d $TMP_YYYY_DIR_INV -o $TMP_YYYY_DIR_INV" 1>&2 fi -sort -t/ -d "$TMP_YYYY_DIR_INV" -o "$TMP_YYYY_DIR_INV" +LC_ALL=C sort -t/ -d "$TMP_YYYY_DIR_INV" -o "$TMP_YYYY_DIR_INV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t/ -d $TMP_YYYY_DIR_INV -o $TMP_YYYY_DIR_INV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t/ -d $TMP_YYYY_DIR_INV -o $TMP_YYYY_DIR_INV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1311,12 +1311,12 @@ fi # form a 2nd YYYY_DIR inventory from author_wins.csv # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sed .. $AUTHOR_WINS_CSV | sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV" 1>&2 + echo "$0: debug[5]: about to: sed .. $AUTHOR_WINS_CSV | LC_ALL=C sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV" 1>&2 fi -sed -e '/^#/d' -e 's/^[^,]*,//' -e 's/,/\n/g' -e 's/_/\//g' "$AUTHOR_WINS_CSV" | sort -t/ -d | uniq > "$TMP_2ND_YYYY_DIR_INV" +sed -e '/^#/d' -e 's/^[^,]*,//' -e 's/,/\n/g' -e 's/_/\//g' "$AUTHOR_WINS_CSV" | LC_ALL=C sort -t/ -d | uniq > "$TMP_2ND_YYYY_DIR_INV" status_codes=("${PIPESTATUS[@]}") if [[ ${status_codes[*]} =~ [1-9] ]]; then - echo "$0: ERROR: sed .. $AUTHOR_WINS_CSV | sort -t/ -d > $TMP_2ND_YYYY_DIR_INV failed," \ + echo "$0: ERROR: sed .. $AUTHOR_WINS_CSV | LC_ALL=C sort -t/ -d > $TMP_2ND_YYYY_DIR_INV failed," \ "error codes: ${status_codes[*]}" 1>&2 exit 27 fi @@ -1342,12 +1342,12 @@ fi # form a 2nd YYYY_DIR inventory from manifest.csv # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sed .. $MANIFEST_CSV | sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV" 1>&2 + echo "$0: debug[5]: about to: sed .. $MANIFEST_CSV | LC_ALL=C sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV" 1>&2 fi -sed -e '/^#/d' -e 's/,/\//' -e 's/,.*//' "$MANIFEST_CSV" | sort -t/ -d | uniq > "$TMP_2ND_YYYY_DIR_INV" +sed -e '/^#/d' -e 's/,/\//' -e 's/,.*//' "$MANIFEST_CSV" | LC_ALL=C sort -t/ -d | uniq > "$TMP_2ND_YYYY_DIR_INV" status_codes=("${PIPESTATUS[@]}") if [[ ${status_codes[*]} =~ [1-9] ]]; then - echo "$0: ERROR: sed .. $MANIFEST_CSV | sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV failed," \ + echo "$0: ERROR: sed .. $MANIFEST_CSV | LC_ALL=C sort -t/ -d | uniq > $TMP_2ND_YYYY_DIR_INV failed," \ "error codes: ${status_codes[*]}" 1>&2 exit 29 fi @@ -1373,12 +1373,12 @@ fi # form a 2nd YYYY_DIR inventory from year_prize.csv # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sed .. $YEAR_PRIZE_CSV | sort -t/ -d > $TMP_2ND_YYYY_DIR_INV" 1>&2 + echo "$0: debug[5]: about to: sed .. $YEAR_PRIZE_CSV | LC_ALL=C sort -t/ -d > $TMP_2ND_YYYY_DIR_INV" 1>&2 fi -sed -e '/^#/d' -e 's/,.*//' -e 's/_/\//' "$YEAR_PRIZE_CSV" | sort -t/ -d > "$TMP_2ND_YYYY_DIR_INV" +sed -e '/^#/d' -e 's/,.*//' -e 's/_/\//' "$YEAR_PRIZE_CSV" | LC_ALL=C sort -t/ -d > "$TMP_2ND_YYYY_DIR_INV" status_codes=("${PIPESTATUS[@]}") if [[ ${status_codes[*]} =~ [1-9] ]]; then - echo "$0: ERROR: sed .. $YEAR_PRIZE_CSV | sort -t/ -d > $TMP_2ND_YYYY_DIR_INV failed," \ + echo "$0: ERROR: sed .. $YEAR_PRIZE_CSV | LC_ALL=C sort -t/ -d > $TMP_2ND_YYYY_DIR_INV failed," \ "error codes: ${status_codes[*]}" 1>&2 exit 31 fi diff --git a/bin/cvt-submission.sh b/bin/cvt-submission.sh index 2ca1ebf84..35fece8f9 100755 --- a/bin/cvt-submission.sh +++ b/bin/cvt-submission.sh @@ -102,7 +102,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an # set variables referenced in the usage message # -export VERSION="1.0.4 2024-08-11" +export VERSION="1.0.5 2024-08-17" NAME=$(basename "$0") export NAME export V_FLAG=0 @@ -1330,7 +1330,7 @@ if [[ -z $NOOP ]]; then echo "$0: debug[3]: about to run: $JVAL_WRAPPER -b -- $INFO_JSON $PATTERN" 1>&2 fi export EXTRA_FILE_SET - EXTRA_FILE_SET=$("$JVAL_WRAPPER" -b -- "$INFO_JSON" "$PATTERN" | sort -u) + EXTRA_FILE_SET=$("$JVAL_WRAPPER" -b -- "$INFO_JSON" "$PATTERN" | LC_ALL=C sort -u) status_codes=("${PIPESTATUS[@]}") if [[ ${status_codes[*]} =~ [1-9] ]]; then echo "$0: ERROR: $JVAL_WRAPPER -b -- $INFO_JSON $PATTERN failed," \ diff --git a/bin/entry2csv.sh b/bin/entry2csv.sh index 44bf26b2c..682d04503 100755 --- a/bin/entry2csv.sh +++ b/bin/entry2csv.sh @@ -118,7 +118,7 @@ shopt -s lastpipe # explicitly run the last command of the pipe line in the curr # set variables referenced in the usage message # -export VERSION="1.2 2024-08-13" +export VERSION="1.2.1 2024-08-17" NAME=$(basename "$0") export NAME export V_FLAG=0 @@ -941,12 +941,12 @@ if [[ -z $NOOP ]]; then # sort author win file # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort $TMP_AUTHOR_WIN -o $TMP_AUTHOR_WIN" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort $TMP_AUTHOR_WIN -o $TMP_AUTHOR_WIN" 1>&2 fi - sort "$TMP_AUTHOR_WIN" -o "$TMP_AUTHOR_WIN" + LC_ALL=C sort "$TMP_AUTHOR_WIN" -o "$TMP_AUTHOR_WIN" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort $TMP_AUTHOR_WIN -o $TMP_AUTHOR_WIN failed," \ + echo "$0: ERROR: LC_ALL=C sort $TMP_AUTHOR_WIN -o $TMP_AUTHOR_WIN failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1010,12 +1010,12 @@ fi if [[ -z $NOOP ]]; then if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV" 1>&2 fi - sort -t, -k1d,1 -k2d,2 "$TMP_AUTHOR_WINS_CSV" -o "$TMP_AUTHOR_WINS_CSV" + LC_ALL=C sort -t, -k1d,1 -k2d,2 "$TMP_AUTHOR_WINS_CSV" -o "$TMP_AUTHOR_WINS_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_AUTHOR_WINS_CSV -o $TMP_AUTHOR_WINS_CSV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1184,17 +1184,17 @@ done # verify that the author directory contains only author_handle.json files referenced by author_wins.csv # if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY" 1>&2 fi -sort "$TMP_AUTHOR_HANDLE_INVENTORY" -o "$TMP_AUTHOR_HANDLE_INVENTORY" +LC_ALL=C sort "$TMP_AUTHOR_HANDLE_INVENTORY" -o "$TMP_AUTHOR_HANDLE_INVENTORY" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY failed," \ + echo "$0: ERROR: LC_ALL=C sort $TMP_AUTHOR_HANDLE_INVENTORY -o $TMP_AUTHOR_HANDLE_INVENTORY failed," \ "error code: $status" 1>&2 exit 9 fi AUTHOR_DIFF=$(find "$AUTHOR_DIR" -mindepth 1 -maxdepth 1 -type f -name '*.json' 2>&1 | - sort | + LC_ALL=C sort | diff -u - "$TMP_AUTHOR_HANDLE_INVENTORY") export AUTHOR_DIFF if [[ -n $AUTHOR_DIFF ]]; then @@ -1217,12 +1217,12 @@ if [[ -z $NOOP ]]; then echo "$0: debug[1]: processing manifest.csv file: $MANIFEST_CSV" 1>&2 fi if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV" 1>&2 fi - sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 "$TMP_MANIFEST_CSV" -o "$TMP_MANIFEST_CSV" + LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 "$TMP_MANIFEST_CSV" -o "$TMP_MANIFEST_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1,1 -k2d,2 -k4n,4 -k3,3 -k5d,8 $TMP_MANIFEST_CSV -o $TMP_MANIFEST_CSV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then @@ -1285,12 +1285,12 @@ if [[ -z $NOOP ]]; then echo "$0: debug[1]: processing year_prize.csv file: $YEAR_PRIZE_CSV" 1>&2 fi if [[ $V_FLAG -ge 5 ]]; then - echo "$0: debug[5]: about to: sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV" 1>&2 + echo "$0: debug[5]: about to: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV" 1>&2 fi - sort -t, -k1d,1 -k2d,2 "$TMP_YEAR_PRIZE_CSV" -o "$TMP_YEAR_PRIZE_CSV" + LC_ALL=C sort -t, -k1d,1 -k2d,2 "$TMP_YEAR_PRIZE_CSV" -o "$TMP_YEAR_PRIZE_CSV" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV failed," \ + echo "$0: ERROR: LC_ALL=C sort -t, -k1d,1 -k2d,2 $TMP_YEAR_PRIZE_CSV -o $TMP_YEAR_PRIZE_CSV failed," \ "error code: $status" 1>&2 exit 8 elif [[ $V_FLAG -ge 3 ]]; then diff --git a/bin/gen-sitemap.sh b/bin/gen-sitemap.sh index 14483f8bc..3b246d58a 100755 --- a/bin/gen-sitemap.sh +++ b/bin/gen-sitemap.sh @@ -84,7 +84,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an # set variables referenced in the usage message # -export VERSION="1.3.13 2024-08-05" +export VERSION="1.3.14 2024-08-19" NAME=$(basename "$0") export NAME export V_FLAG=0 diff --git a/bin/new-dir.sh b/bin/new-dir.sh index a661bb031..a705ceecb 100755 --- a/bin/new-dir.sh +++ b/bin/new-dir.sh @@ -88,7 +88,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an # set variables referenced in the usage message # -export VERSION="1.3.1 2024-08-11" +export VERSION="1.3.2 2024-08-17" NAME=$(basename "$0") export NAME export V_FLAG=0 @@ -393,12 +393,12 @@ if [[ -z $NOOP ]]; then # sort .year # if [[ $V_FLAG -ge 3 ]]; then - echo "$0: debug[3]: about to: sort -u $DOT_YEAR -o $DOT_YEAR" 1>&2 + echo "$0: debug[3]: about to: LC_ALL=C sort -u $DOT_YEAR -o $DOT_YEAR" 1>&2 fi - sort -u "$DOT_YEAR" -o "$DOT_YEAR" + LC_ALL=C sort -u "$DOT_YEAR" -o "$DOT_YEAR" status="$?" if [[ $status -ne 0 ]]; then - echo "$0: ERROR: sort -u $DOT_YEAR -o $DOT_YEAR failed," \ + echo "$0: ERROR: LC_ALL=C sort -u $DOT_YEAR -o $DOT_YEAR failed," \ "error code: $status" 1>&2 exit 11 fi