作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下命令(有效):
for f in /home/backups/*; do mv -n "$f" "${f}_$(date -r "$f" +'%Y%m%d')"; done
例如:在 /home/backups
中,我有文件 backup
。执行重命名为 backup_20180608
(当前日期)的命令。
我希望减去 1 天。我的意思是文件应该是 backup_20180607
。
我怎样才能做到这一点?
最佳答案
拆分以获得更好的可读性:
for f in /home/backups/*;
do mv -n "$f" "${f}_$(date -d "$(date -r "$f") -1 days" +'%Y%m%d')";
done
重要部分:
$(date -d "$(date -r "$f") -1 days" +'%Y%m%d')
From 约会对象
:
-d, --date=STRING
display time described by STRING, not 'now'
此处 STRING
将是 date -r "$f"
报告的最后修改时间。
- 1 days
从日期中减去一天,格式为 %Y%m%d
for f in /home/backups/*; do mv -n "$f" "${f}_$(date -d "$(date -r "$f") -1 days" +'%Y%m%d')"; done
关于linux - 如何在 Linux 上将包含当前日期的文件名减去 1 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50767475/
我是一名优秀的程序员,十分优秀!