bash脚本写的一个东西,可以替代find . -type f -atime +N -exec ls {} \;
1
#!/bin/bash
2
#As the danger of rm i # it
3
#由于win系统与linux对回车的不同定义(郁闷了我很长时间) 特把最后一题源程序作为附件
4
#不让用原本非常简单的find 导致我在这道题上话花费拉很长时间 这个程序要求有tree这个命令unbuntu默认没有安装……)
5
#N是要求的天数 为了安全没有在shell参数中实现N的传递
6
#相关列表存放在 ~/list中
7
#鉴于一般不会出现带空格的文件名 没有考虑带空格的文件的删除 如果需要可以在 $filename两边加 " 实现吧
8
#AuXteN
9
today=$(date +%Y-%m-%d)
10
N=3
11
delist=~/list
12
daysec=86400
13
#ls -lu --time=atime --full-time|grep -e '^[^d]'| awk 'NF > 3 {print $9}'>$delist
14
tree -if|grep '^\./' > $delist
15
for filename in $(cat $delist|awk '{print $1}')
16
do
17
echo "$filename"
18
last_access_time=$(stat $filename | tail -3 | grep Access | awk '{print $2}')
19
echo "$last_access_time"
20
today_s=$(date --date="$today" +%s)
21
echo "$today_s"
22
old_s=$(date --date="$last_access_time" +%s)
23
echo "$old_s"
24
((interval_total_s=$today_s-$old_s))
25
echo "$interval_total_s".
26
interval_day=$(expr $interval_total_s / $daysec)
27
echo "$interval_day"
28
if [ $interval_day -gt $N ]
29
then
30
echo "delete $filename"|tee -a $delist
31
#rm -I $filename
32
fi
33
done
34![]()
#!/bin/bash2
#As the danger of rm i # it3
#由于win系统与linux对回车的不同定义(郁闷了我很长时间) 特把最后一题源程序作为附件4
#不让用原本非常简单的find 导致我在这道题上话花费拉很长时间 这个程序要求有tree这个命令unbuntu默认没有安装……)5
#N是要求的天数 为了安全没有在shell参数中实现N的传递6
#相关列表存放在 ~/list中7
#鉴于一般不会出现带空格的文件名 没有考虑带空格的文件的删除 如果需要可以在 $filename两边加 " 实现吧8
#AuXteN9
today=$(date +%Y-%m-%d)10
N=311
delist=~/list12
daysec=8640013
#ls -lu --time=atime --full-time|grep -e '^[^d]'| awk 'NF > 3 {print $9}'>$delist14
tree -if|grep '^\./' > $delist15
for filename in $(cat $delist|awk '{print $1}')16
do17
echo "$filename"18
last_access_time=$(stat $filename | tail -3 | grep Access | awk '{print $2}')19
echo "$last_access_time"20
today_s=$(date --date="$today" +%s)21
echo "$today_s"22
old_s=$(date --date="$last_access_time" +%s)23
echo "$old_s"24
((interval_total_s=$today_s-$old_s))25
echo "$interval_total_s".26
interval_day=$(expr $interval_total_s / $daysec)27
echo "$interval_day"28
if [ $interval_day -gt $N ]29
then30
echo "delete $filename"|tee -a $delist31
#rm -I $filename32
fi33
done34

浙公网安备 33010602011771号