小编Sha*_*rif的帖子

在Terminal/Linux上查找包含特定日期范围文件名的所有文件

我有一个监控摄像头,它根据我给定的条件拍摄图像.图像保存在我的Linux上.图像命名惯例如下 -

CAPTURE04.YYYYMMDDHHMMSS.jpg
Run Code Online (Sandbox Code Playgroud)

该目录包含以下文件 -

CAPTURE04.20171020080501.jpg
CAPTURE04.20171021101309.jpg
CAPTURE04.20171021101913.jpg
CAPTURE04.20171021102517.jpg
CAPTURE04.20171021103422.jpg
CAPTURE04.20171022103909.jpg
CAPTURE04.20171022104512.jpg
CAPTURE04.20171022105604.jpg
CAPTURE04.20171022110101.jpg
CAPTURE04.20171022112513.jpg ... and so on.
Run Code Online (Sandbox Code Playgroud)

但是,实际上,现在我正在尝试使用terminal命令找到一种在特定日期时间(文件名)范围之间获取所有文件的方法. 注意:需要遵循文件名(YYYYMMDDHHMMSS),而不是文件创建/修改时间.

比如我需要获取文件名在2017-10-20 08:30:00和2017-10-22 09:30:00之间的所有文件

我正在尝试搜索谷歌并得到以下命令 -

find -type f -newermt "2017-10-20 08:30:00" \! -newermt "2017-10-22 09:30:00" -name '*.jpg'
Run Code Online (Sandbox Code Playgroud)

它返回在给定日期范围内创建/修改的文件.但我需要根据给定的文件名范围查找文件.所以我认为这对我的情况不起作用.

也尝试使用以下命令 -

find . -maxdepth 1 -size +1c -type f \( -name 'CAPTURE04.20171020083000*.jpg' -o -name 'CAPTURE04.2017102209300*.jpg' \) | sort -n
Run Code Online (Sandbox Code Playgroud)

这不起作用.. :(

请帮我写下实际的命令.提前致谢.

linux bash terminal file-find

5
推荐指数
1
解决办法
1601
查看次数

标签 统计

bash ×1

file-find ×1

linux ×1

terminal ×1