我想复制从特定日期(例如 11 月 18 日)到当前日期的日志文件。我该怎么做?
答案1
您可以使用以下find
命令:
find /path/to/logs/dir -type f -newermt '2022-11-18' -exec cp {} /path/to/copy/dir \;
/path/to/logs/dir
将和分别替换/path/to/copy/dir
为日志所在目录的路径和要将日志复制到的目录。-type f
仅用于搜索文件。-newermt '2022-11-18'
用于查找最后修改时间(这是mt
的一部分-newermt
)在 2022 年 11 月 18 日之后的文件。时间格式的解释与date
的-d
选项类似,因此您可以使用-newermt 'November 18 2022'
或任何可以处理的格式date -d
。请参阅man date
了解更多信息。-exec cp {} /path/to/copy/dir
用于将每个找到的文件({}
)复制到/path/to/copy/dir
。
请注意,它find
会递归查找文件,因此它还会在目录中查找满足所需条件的文件/path/to/logs/dir
。如果您不想递归查找文件,请-maxdepth 1
在 之前添加选项-type f
。
有关详细信息,请参阅man find
。