小编Him*_*ima的帖子

在#!/bin/bash 中。Unix命令获取一个月中第一个工作日的日期

我正在寻找一个直接的 Unix 命令来获得下个月的第一个星期日、下个月的第一个星期一、下个月的第一个星期二、下个月的第一个星期三等等。

  1. 我需要完整的日期格式(时间不是强制性的)

  2. 我可以得到 2、3、4 等数字。因为我不想要数字,所以我需要日期格式(包括日、月、年)

    $ NEXT_MONTH=`date +'%m %Y' -d 'next month'`
    $ echo $NEXT_MONTH
    04 2017
    
    $ NEXT_SUNDAY=`cal $NEXT_MONTH | awk 'NF==7 && !/^Su/{print $1;exit}'`
    $ echo $NEXT_SUNDAY
    2
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我需要这些日期来发送电子邮件组的通知。

例如:我可以得到下个月的第一个星期六,如下所示。

$ firstofmonth=$(date -d '+1 months' '+%Y%m01')
20170401

$ firstsaturday=$(date -d "$firstofmonth" '+%Y-%m')-$((7 - \
                $(date -d "$firstofmonth" '+%u')     ))    
2017-04-1
Run Code Online (Sandbox Code Playgroud)

shell date

9
推荐指数
2
解决办法
3965
查看次数

标签 统计

date ×1

shell ×1