从存储的日期变量中提取星期几的语法是什么?
dateinfile
格式始终为[alphanum]_YYYYMMDD
。
在这个伪代码示例中,试图让dayofweek
存储星期六:
#! /bin/bash
dateinfile="P_20090530"
dayofweek="$dateinfile -u +%A"
答案 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
内部表达式将20090530
与P_20090530
分开,外部表达式从该日期中提取星期几
答案 2 :(得分:1)
我最近需要相同的输出并用Google搜索,但我遇到了同样的问题,说明了Bad Substition错误。
然后我阅读了日期手册并将我的版本升级如下:
#! /bin/sh
dateinfile="P_20090530"
dayofweek=`date --reference $dateinfile +%A`
echo $dayofweek