Shell 如何在Unix中获取每月的第5天和第6天?
是否可以在Unix中获取每月的第5天和/或第6天 我已经尝试过了,但它没有给我想要的输出:Shell 如何在Unix中获取每月的第5天和第6天?,shell,date,unix,Shell,Date,Unix,是否可以在Unix中获取每月的第5天和/或第6天 我已经尝试过了,但它没有给我想要的输出: echo $((($(date +%-d)-1)/5)) 使用以下命令: for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done 输出: Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday Sun 05 Feb 2017 12:00:00 AM CET - is a Sun
echo $((($(date +%-d)-1)/5))
使用以下命令:
for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done
输出:
Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday
Sun 05 Feb 2017 12:00:00 AM CET - is a Sunday
Sun 05 Mar 2017 12:00:00 AM CET - is a Sunday
Wed 05 Apr 2017 12:00:00 AM CEST - is a Wednesday
Fri 05 May 2017 12:00:00 AM CEST - is a Friday
Mon 05 Jun 2017 12:00:00 AM CEST - is a Monday
Wed 05 Jul 2017 12:00:00 AM CEST - is a Wednesday
Sat 05 Aug 2017 12:00:00 AM CEST - is a Saturday
Tue 05 Sep 2017 12:00:00 AM CEST - is a Tuesday
Thu 05 Oct 2017 12:00:00 AM CEST - is a Thursday
Sun 05 Nov 2017 12:00:00 AM CET - is a Sunday
Tue 05 Dec 2017 12:00:00 AM CET - is a Tuesday
对于本月的第6个月,它以类似的方式完成。使用以下方法:
for month in {1..12}; do date -d "$month/5/2017" +"%c - is a %A"; done
输出:
Thu 05 Jan 2017 12:00:00 AM CET - is a Thursday
Sun 05 Feb 2017 12:00:00 AM CET - is a Sunday
Sun 05 Mar 2017 12:00:00 AM CET - is a Sunday
Wed 05 Apr 2017 12:00:00 AM CEST - is a Wednesday
Fri 05 May 2017 12:00:00 AM CEST - is a Friday
Mon 05 Jun 2017 12:00:00 AM CEST - is a Monday
Wed 05 Jul 2017 12:00:00 AM CEST - is a Wednesday
Sat 05 Aug 2017 12:00:00 AM CEST - is a Saturday
Tue 05 Sep 2017 12:00:00 AM CEST - is a Tuesday
Thu 05 Oct 2017 12:00:00 AM CEST - is a Thursday
Sun 05 Nov 2017 12:00:00 AM CET - is a Sunday
Tue 05 Dec 2017 12:00:00 AM CET - is a Tuesday
这个月的第六天也是这样做的。我不确定这是否是你想要的:我假设你想在任何一天得到一个月的第五(或第六)天。如果是这样,您可以利用当前日期获得当月的第5天,如下所示:
dd=`date '+%d'`
if(( $dd > 5 )); then
(( diff = dd - 5 ))
myDate=`date -d "-$diff days"`
else
(( diff = 5 - dd ))
myDate=`date -d "+$diff days"`
fi
echo $myDate
第六天你也可以这样做。上面的代码应该可以在Linux发行版上运行。我不确定这是否是您想要的:我假设您希望在任何一天都有一个月的第五天(或第六天)。如果是这样,您可以利用当前日期获得当月的第5天,如下所示:
dd=`date '+%d'`
if(( $dd > 5 )); then
(( diff = dd - 5 ))
myDate=`date -d "-$diff days"`
else
(( diff = 5 - dd ))
myDate=`date -d "+$diff days"`
fi
echo $myDate
第六天你也可以这样做。以上代码应该可以在Linux发行版上运行