以下是一个Bash脚本示例,用于查找在特定时间范围内创建的.jpg文件并对其进行重命名:
#!/bin/bash
# 设置起始和结束时间(格式:YYYYMMDDHHMM)
start_time="202201010000"
end_time="202201312359"
# 查找在时间范围内创建的.jpg文件
find /path/to/files -type f -name "*.jpg" -newermt "$start_time" ! -newermt "$end_time" |
while read -r file; do
# 提取文件名和扩展名
filename=$(basename "$file")
extension="${filename##*.}"
# 生成新的文件名(格式:YYYYMMDDHHMMSS.jpg)
timestamp=$(stat -c %Y "$file")
new_filename="$(date -d "@$timestamp" +%Y%m%d%H%M%S).$extension"
# 重命名文件
mv "$file" "/path/to/new_files/$new_filename"
done
上述脚本中的关键步骤如下:
find
命令查找在时间范围内创建的.jpg文件,并将结果逐行传递给while
循环。basename
命令提取文件名和扩展名。stat
命令获取文件的创建时间戳。date
命令将时间戳格式化为新的文件名(格式为YYYYMMDDHHMMSS)。mv
命令将文件重命名为新的文件名,并将其移到指定目录。请根据实际需求修改脚本中的路径和时间范围。