将固定日期换成每周六到上周日的写法

要将固定日期的实现修改为每周六到上周日,您可以使用date命令结合条件判断来进行日期的计算。以下是一个示例代码:

# 获取当前日期
current_date=$(date "+%Y%m%d")

# 统计当前日期是星期几(0表示星期日,1表示星期一,以此类推)
current_day=$(date -d "$current_date" "+%w")

# 计算当前日期所在周的周六和上周日的日期
start_date=$(date -d "$current_date - $current_day days + 6 days" "+%Y%m%d")
end_date=$(date -d "$current_date - $current_day days - 1 day" "+%Y%m%d")

# 遍历日期范围内的每一天并处理相应的文件夹
current_timestamp=$(date -d "$start_date" "+%s")
end_timestamp=$(date -d "$end_date" "+%s")

while [ "$current_timestamp" -le "$end_timestamp" ]; do
    current_date=$(date -d "@$current_timestamp" "+%Y%m%d")
    folder_path="/path/to/folders/$current_date"
    
    # 处理文件夹内的文件
    for file in "$folder_path"/*; do
        if [ -f "$file" ]; then
            # 执行您需要的操作,例如读取文件内容
            echo "处理文件:$file"
            cat "$file"
        fi
    done
    
    # 增加一天的时间
    current_timestamp=$(date -d "@$current_timestamp + 1 day" "+%s")
done

在上述示例中,代码会计算当前日期所在周的周六到上周日的日期范围,并遍历每个日期进行文件处理。您需要将/path/to/folders/替换为您实际文件夹的路径。其他部分的代码保持不变。

请注意,这里的计算是基于当前日期进行的,如果想要以其它日期为基准,可以将current_date替换为所需日期。

希望这个修改能够满足您的需求!如果您有其他问题,请随时提问。