写一个shell 比较文件夹名称中包含的日期与7天前的时间戳
时间: 2024-05-14 17:16:50 浏览: 70
Shell脚本遍历一个日期范围实例
5星 · 资源好评率100%
好的,以下是一个可能的shell脚本实现:
```
#!/bin/bash
# 比较文件夹名称中包含的日期与7天前的时间戳
# 定义时间格式
date_format="%Y-%m-%d"
# 获取当前日期
current_date=$(date "+$date_format")
# 计算7天前的日期
seven_days_ago=$(date -d "$current_date -7 day" "+$date_format")
# 遍历文件夹,比较日期和时间戳
for folder in $(ls -d */ | grep -E '[0-9]{4}-[0-9]{2}-[0-9]{2}/'); do
folder_date=$(echo $folder | grep -Eo '[0-9]{4}-[0-9]{2}-[0-9]{2}')
folder_timestamp=$(date -d "$folder_date" "+%s")
if (( folder_timestamp < $(date -d "$seven_days_ago" "+%s") )); then
echo "$folder is older than 7 days"
else
echo "$folder is within the last 7 days"
fi
done
```
这个脚本会遍历当前目录下所有文件夹名称中包含日期的文件夹,比较日期和7天前的时间戳,然后输出结果。注意需要将脚本文件的执行权限设置为可执行,可以使用 `chmod +x filename.sh` 来实现。
阅读全文