linux - 在 Linux 中获取日期的 Shell 脚本

标签 linux bash shell date scripting

我是 Shell 脚本的新手。

我想编写一个脚本,以 YYYY:MM:DD 格式从用户那里获取任何随机日期,并回显(显示)前一周星期二和星期五的日期。

例如,如果我将输入日期指定为 2013-12-11
输出应该是

date1= 2013-12-06
date2= 2013-12-10

输入日期为 2013-12-07

输出

date1= 2013-12-03
date2= 2013-12-06

最佳答案

尝试以下操作:

input=2013-12-11
lastTues=$(date -d "$input -$(date -d "$input +5 days" +%u) days" +%Y-%m-%d)
lastFri=$(date -d "$input -$(date -d "$input +2 days" +%u) days" +%Y-%m-%d)

此命令首先计算输入日期与上周二(或周五)之间的天数,称之为X。然后它运行 date -d "inputDate -X days" 来计算新日期。

关于linux - 在 Linux 中获取日期的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260234/

相关文章:

c++ - 如何刷新 CPU 缓存中的地址范围?

c - 设置调度策略 SCHED_IDLE 或 SCHED_BATCH 失败并显示 EINVAL (22)

linux - 当一个分机适用于 Asterisk 中的两个 voIp 时如何给出错误

linux - 空闲 5 分钟后切换桌面 (xprintidle) : crontab or daemon?

linux - 跟踪日志直到达到特定时间阈值

linux - 使用线程写入和选择读取

linux - 带 CGI 的 Shell 脚本适用于 bash 但不适用于 sh

bash - 检查符号链接(symbolic link)是否已更改

bash - 如何在 HBase shell 中循环执行命令而不每次都调用 shell

linux - 计算所有文件和文件夹,包括隐藏在 bash 中的文件和文件夹