以下是一个示例脚本,其中假设文件列表保存在名为“filelist.txt”的文件中:

#!/bin/bash

# 输入地址变量
read -p "请输入地址变量:" path

# 遍历文件
for file in "$path"/*; do
    filename=$(basename "$file")
    now=$(date +%s)

    # 检查文件列表中是否存在该文件
    if grep -q "^$filename$" filelist.txt; then
        # 如果文件存在超过1小时,则删除文件并更新文件列表
        last_modified=$(stat -c %Y "$file")
        age=$((now - last_modified))
        if [ "$age" -gt 3600 ]; then
            rm "$file"
            sed -i "/^$filename$/d" filelist.txt
        fi
    else
        # 如果文件不存在,则将其加入到文件列表中并记录此时时间
        echo "$filename" >> filelist.txt
        echo "$now" >> filelist.txt
    fi
done

在这个脚本中,我们使用了循环来遍历给定地址中的所有文件。我们首先提取出文件名和当前时间,并检查文件列表中是否存在该文件。如果文件不存在,我们将其添加到文件列表中,并记录此时时间。如果文件存在,我们获取其最后修改时间并计算出文件的年龄。如果文件的年龄大于1小时,我们将其删除,并从文件列表中删除该文件名。最后,我们将遍历完的所有文件返回到文件列表中


原文地址: https://www.cveoy.top/t/topic/fnOP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录