bash - извлекать день недели переменной - PullRequest
1 голос
/ 06 декабря 2011

Каков синтаксис для извлечения дня недели из сохраненной переменной даты?Формат dateinfile всегда равен [alphanum]_YYYYMMDD.

. В этом примере псевдокода при попытке получить dayofweek для сохранения субботы:

#! /bin/bash 

dateinfile="P_20090530"
dayofweek="$dateinfile -u +%A"

Ответы [ 3 ]

7 голосов
/ 06 декабря 2011
[me@home]$ date --date=${dateinfile#?_} "+%A"
Saturday

Или, если поставить так, как вы просили:

[me@home]$ dayofweek=$(date --date=${dateinfile#?_} "+%A")
[me@home]$ echo $dayofweek
Saturday
3 голосов
/ 06 декабря 2011
date -d $(echo $dateinfile | cut -f2 -d_) -u +%A

Внутреннее выражение отделяет 20090530 от P_20090530, а внешнее выражение извлекает день недели из этой даты

1 голос
/ 09 января 2012

Недавно мне понадобился тот же вывод, и я нашел его, но у меня возникла та же проблема с сообщением об ошибке Bad Substition.

Затем я прочитал руководство по дате и составил следующую версию:

#! /bin/sh
dateinfile="P_20090530"
dayofweek=`date --reference $dateinfile +%A`
echo $dayofweek
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...