将文件的日期设置为上个月的日期- KornShell

vohkndzv  于 2023-05-07  发布在  Shell
关注(0)|答案(1)|浏览(152)

我试图建立一个KornShell脚本,使一个文件是FTP的第一个月。
创建文件时,它应该读取上个月的日期-如果作业在4月1日运行,则文件将为filename_MAR2023。这是包含在脚本主体中的内容,还是需要在开始时设置一个变量?
感谢您的评分
我已经尝试过将DATE=date +%d%m%y``作为变量,但在我看来,它只会获取当前日期并将其应用于数值。

h43kikqp

h43kikqp1#

看起来printf%T指令可以像GNU的date -d一样解析日期时间字符串

fname="my_filename"
typeset -u date=$(printf '%(%b%Y)T' 'last month')
newname="${fname}_${date}"
print -v newname
# => my_filename_APR2023
$ printf --man
NAME
  printf - write formatted output

SYNOPSIS
  printf [ options ] format [string ...]
...
    %T    Treat string as a date/time string and format it. The T can be preceded by (dformat),
          where dformat is a date format as defined by the date command.

这是:

$ print -v .sh.version
Version AJM 93u+ 2012-08-01

相关问题