有没有办法从日志文件中提取最后修改的日期和时间并将该日期和时间附加到文件中?
我有一个工具可以在每次运行时生成 appslist.log 文件。 当我运行该工具时,通过我的脚本,applist.log 文件已经存在,然后我可能必须将它与它的创建时间和日期相关联。
喜欢:
mv applist.log applist_+%Y%m%d_%H%M%S.log
假设我第一次运行该工具并生成了 applist.log:
applist.log Mon 03-29-2013
下次我在 2013 年 3 月 30 日运行该工具时,我想移动现有的 applist.log 文件,并使用包含其创建日期和时间的新名称:
like applist_03-29-2013.log
因为该工具会在 2013 年 3 月 30 日再次生成 applist.log。
最佳答案
mv applist.log applist_`date -r applist.log +%Y%m%d%H%M%S`.log
这会将文件移动到名称中包含日期的新文件。 date 命令允许您以任何格式显示。有关这些字符序列的完整描述,请参见 man date
。使用反引号将首先运行里面的命令。日期上的 -r
选项将获取相关文件的日期。
例子:
[me@host temp]$ mv applist.log applist_`date -r applist.log +%Y%m%d%H%M%S`.log
[me@host temp]$ ls -l
total 196
-rw-rw-r--. 1 me me 0 Mar 25 20:55 applist_20130325205532.log
我假设您的程序是一个 cron,并且每秒不会运行超过一次。
关于linux - 用于生成带有日期戳的新日志的 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15606450/