用shell写一个脚本输入一个地址变量遍历出所有文件的名字与当前时间如果文件列表中不存在文件名这加入到文件列表中并记录此时时间如果文件存在超过1小时则删除文件并更新文件列表
以下是一个示例脚本,其中假设文件列表保存在名为“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 著作权归作者所有。请勿转载和采集!