bash - 提取变量的星期几

时间:2011-12-06 11:08:09

标签: linux bash shell unix scripting

从存储的日期变量中提取星期几的语法是什么? dateinfile格式始终为[alphanum]_YYYYMMDD

在这个伪代码示例中,试图让dayofweek存储星期六:

#! /bin/bash 

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

3 个答案:

答案 0 :(得分:7)

[me@home]$ date --date=${dateinfile#?_} "+%A"
Saturday

或者,按照您的要求提出:

[me@home]$ dayofweek=$(date --date=${dateinfile#?_} "+%A")
[me@home]$ echo $dayofweek
Saturday

答案 1 :(得分:3)

date -d $(echo $dateinfile | cut -f2 -d_) -u +%A

内部表达式将20090530P_20090530分开,外部表达式从该日期中提取星期几

答案 2 :(得分:1)

我最近需要相同的输出并用Google搜索,但我遇到了同样的问题,说明了Bad Substition错误。

然后我阅读了日期手册并将我的版本升级如下:

#! /bin/sh
dateinfile="P_20090530"
dayofweek=`date --reference $dateinfile +%A`
echo $dayofweek