Unix shell 脚本:日期格式语法
Posted
技术标签:
【中文标题】Unix shell 脚本:日期格式语法【英文标题】:Unix shell scripting: date format syntax 【发布时间】:2021-10-14 16:31:05 【问题描述】:我正在尝试获取昨天的日期,它在 hp ux 服务器中不起作用。
Prev_date=$(date +"y%m%d" -d "1 day ago")
为此,我仍然只获得当前日期。 20210811
你能帮忙吗?
【问题讨论】:
已经在这里讨论过 - ***.com/questions/3517982/… 这与任何shell都无关,仅与您正在使用的date
的版本有关。
@chepner,确切地说,它与版本无关,而是date
实用程序的发布。而且 AFAIK 没有一个流行的统一(AIX、Solaris、HP-UX)支持--date
key
@user16598664,检查链接上的问题并在接受的答案中查看解决方案。
@RomeoNinov 通过“版本”,我并不是指任何特定项目的特定编号版本。 (如果你要假装 Unix 是第三变格的拉丁名词,复数应该是 unices。)
【参考方案1】:
你在“y”前面漏掉了一个百分比:这对我来说很好用:
echo $(date +"%y%m%d" -d "1 day ago")
【讨论】:
echo $(…)
似乎是多余的。
问题是关于HP-UX,不支持--date
!【参考方案2】:
如果你愿意,你可以使用下面的命令。
date --date=' 1 days ago' '+%Y-%m-%d'
它会给出类似的结果
2021-09-06
我更喜欢这种格式,因为大多数时候我的脚本都包含用于获取数据的 SQL 查询,因此需要日期才能每天过滤掉数据。
【讨论】:
问题是关于HP-UX
和--date
不支持!以上是关于Unix shell 脚本:日期格式语法的主要内容,如果未能解决你的问题,请参考以下文章