首页 > 系统服务 > 详细

Shell保留目录下最新的几个文件

时间:2021-01-18 09:26:45      阅读:70      评论:0      收藏:0      [点我收藏+]

保留当前目录下相同文件前缀最新的几个文件,其他文件都删除的脚本

#!/bin/bash

function deleteOldPkg()
{
#保留文件数
ReservedNum=2
#显示文件数, *.*可以改为指定文件类型
cd $1
FileNum=$(ls -l | grep $2 | wc -l)
while(( $FileNum > $ReservedNum ))
do
#取最旧的文件,*.*可以改为指定文件类型
OldFile=$(ls -rt | grep $2 | head -1)

echo "Delete File:"$1/$OldFile

rm -f $1/$OldFile

let "FileNum--"

done
}


function deleteDirPkg()
{
ls $1 | while read line
do
echo $line begin to check
if [ -d $1"/"$line ]
then
deleteDirPkg $1"/"$line
else
ModuleName=${line%%_*}
echo "module===== " $ModuleName
deleteOldPkg $1 $ModuleName 
fi
done
}

# 程序的入口函数
function main()
{
ls $1 | while read line
do
echo $line
if [ -d $1"/"$line ]
then
deleteDirPkg $1"/"$line
fi
done
}


dir=`dirname $0`
dir=`cd $dir; pwd`

main $dir

 

Shell保留目录下最新的几个文件

原文:https://www.cnblogs.com/jianzhang440/p/14291087.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!