gpt4 book ai didi

linux - 如何将 stat 的输出传递给 touch?

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:06 25 4
gpt4 key购买 nike

我在运行 SunOS 5.9 的服务器上有一个 korn shell 脚本,我需要将输出从 stat 传递到 touch 以重置目录的修改时间戳在对它做了一些事情之后,例如

#Get modified timestamp of directory
mtime=$(stat -c %y ${dirvar})

## Do something to directory that will alter its modified timestamp ##

#Reset modified timestamp of directory
touch -t "${mtime}" "${dirvar}"

我该怎么做?上面的代码返回错误 touch: bad time specification

我已经试过了:

> stat -c %y ${dirvar} | awk '{ split($1, a, "-"); split($2, b, ":"); split(b[3], c, "."); print a[1]a[2]a[3]b[1]b[2]c[1]}'

需要这个:

stat -c %y tmp
2018-12-19 11:28:41.000000000 +0000

然后这样输出:

20181219112841

但我仍然遇到相同的 touch: bad time specification 错误。

最佳答案

我从未使用过 stat -t,但手册页上说:

   -t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time

这意味着,您可能想尝试使用这种格式:201812191128.41

关于linux - 如何将 stat 的输出传递给 touch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53854125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com