【问题标题】:Unix shell scripting: date format syntaxUnix shell 脚本:日期格式语法
【发布时间】:2023-03-14 11:59:02
【问题描述】:

我正在尝试获取昨天的日期,它在 hp ux 服务器中不起作用。

Prev_date=$(date +"y%m%d" -d "1 day ago")

为此,我仍然只获得当前日期。 20210811

你能帮忙吗?

【问题讨论】:

  • 已经在这里讨论过 - stackoverflow.com/questions/3517982/…
  • 这与任何shell都无关,仅与您正在使用的date的版本有关。
  • @chepner,确切地说,它与版本无关,而是date 实用程序的发布。而且 AFAIK 没有一个流行的统一(AIX、Solaris、HP-UX)支持--date key
  • @user16598664,检查链接上的问题并在接受的答案中查看解决方案。
  • @RomeoNinov 通过“版本”,我并不是指任何特定项目的特定编号版本。 (如果你要假装 Unix 是第三变格的拉丁名词,复数应该是 unices。)

标签: shell unix scripting hp-ux


【解决方案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不支持!
猜你喜欢
  • 2021-09-06
  • 2010-09-05
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
  • 2011-11-22
相关资源
最近更新 更多