bash: проблема с поиском дня недели по дате - ошибка «указано несколько форматов вывода» - PullRequest
0 голосов
/ 12 июля 2020

Я тестирую некоторые функции в утилите bash date, и хотя вычитание из определенного значения datetime работает нормально, я не могу проверить, является ли определенная дата понедельником или нет:

#!/bin/bash


export TZ=UTC
ZIPPED="$1"

gunzip "$ZIPPED"

UNZIPPED=${ZIPPED%.*}

TRDAY_raw=${UNZIPPED%%.*} # 20200427
test=$(date -Is -d "$TRDAY_raw -3 day")
echo "MINUS 3 DAYS ---> $test"

if [[ $(date -Is -d "${TRDAY_raw}" +%u) -eq 1 ]]; then
        echo "$TRDAY_raw is Monday"
fi

gzip $UNZIPPED

I запустите приведенный выше код следующим образом:

bash /test/dates/wday.sh 20200427.global.csv.gz

Результат будет следующим:

MINUS 3 DAYS ---> 2020-04-24T00:00:00+0000
date: multiple output formats specified

Как мне найти день недели в этой ситуации?

GNU bash, version 4.1.2(2)-release (x86_64-redhat-linux-gnu)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...