- 论坛徽章:
- 0
|
性命忧关!!!!拜托各位高手!!!急!!!!!
刚才花了点时间,写一个不完善的小程序,各位可以去测试一下。
说明:
1、本程序不能对所输入的年月日是否正确进行判断,希望各位完善。
2、本程序只能删除当前目录下<包括子目录>一年以内的数据,跨年的数据不能删除。
3、文件名中年月日不作限制,aa20041101bb.txt 、a200408.txt等都可以。
4、本程序执行后,不删除文件,只显示在屏幕上。如:
rm ./bb/abc20040503b.txt
rm ./a20040915abgcd.txt
在unix5.0.5通过:
echo ""|
nawk 'BEGIN {
while (1)
{
printf("\n\n\t请输入日期:"
getline date <"/dev/tty"
if( length(date) != "8" || date ~/[a-z]|[A-Z]/)
print "输入长度不是8位或包函非数字字符!!!"
else
break
}
}
{
while (" find \.\/ -name \\*[0-9][0-9][0-9][0-9]\\* -print"|getline d){
if( substr(d, match(d, substr(date, 1, 4)), 8 )!~/[a-z]|[A-Z]/ && substr(date, 1, 6) > substr(d, match(d, substr(date, 1, 4)), 6))
printf("rm %s\n", d)
if( substr(d, match(d, substr(date, 1, 4)), 8 )!~/[a-z]|[A-Z]/ && substr(date, 1, 6) == substr(d, match(d, substr(date, 1, 4)), 6) && substr(date, 7, 2) > substr(d, match(d, substr(date, 1, 4)) + 6, 2))
printf("rm %s\n", d)
}
}'
好了,去睡觉了,明天见。 |
|