当前日期为周日,遍历上周六到本周五所有的文件夹并合文件夹下txt文件

如果当前日期为周日,并且您想要遍历上周六到本周五的所有文件夹,并合并文件夹下的所有txt文件,您可以使用以下示例代码:

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

# 检查当前日期是否为周日(0表示周日)
if [ $(date -d "$current_date" "+%w") -eq 0 ]; then
    # 计算上周六和本周五的日期
    start_date=$(date -d "$current_date - 7 days" "+%Y%m%d")
    end_date=$(date -d "$current_date - 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/to/folders/$current_date"
        
        # 检查文件夹是否存在并且是目录
        if [ -d "$folder" ]; then
            # 合并文件夹下所有的txt文件
            cat "$folder"/*.txt >> merged.txt
        fi
        
        # 增加一天的时间
        current_timestamp=$(date -d "@$current_timestamp + 1 day" "+%s")
    done
    
    echo "合并完成!"
else
    echo "当前日期不是周日,无需执行合并操作。"
fi

请将/path/to/folders/替换为包含日期文件夹的实际路径。代码会检查当前日期是否为周日,如果是周日,则会遍历上周六到本周五的所有文件夹,并将文件夹下的所有txt文件合并到merged.txt中。

请注意,如果merged.txt文件已经存在,执行脚本时会将新的内容追加到现有文件的末尾。如果您需要每次都创建新的文件,请在执行脚本之前删除merged.txt文件。

希望这个示例代码对您有所帮助!如果您有其他问题,请随时提问。