红联Linux门户
Linux帮助

Linux shell语句保留最新的几个文件

发布时间:2017-03-29 09:40:54来源:linux网站作者:guoke3915
对于自动备份的一些文件,备份的会越来越多,所以,有时需要保存指定数量最新的文件,可以用一个简单的脚本来完成,操作系统平台是CentOS 6.5。
 
获取当前脚步所在目录
RootDir=$(cd `dirname $0`; pwd)
Linux shell语句保留最新的几个文件
 
查看当前目录的文件数详细信息
ls -lt
Linux shell语句保留最新的几个文件
 
显示文件数
FileNum=$(ls -l | grep ^- | wc -l)
Linux shell语句保留最新的几个文件
 
取最旧的文件
OldFile=$(ls -rt *.* | head -1)
Linux shell语句保留最新的几个文件
 
终上所述,完成速的代码如下:
#!/bin/bash
#保留文件数
ReservedNum=8
#当前脚步所在目录
RootDir=$(cd `dirname $0`; pwd)
#显示文件数, *.*可以改为指定文件类型
FileNum=$(ls -l *.* | grep ^- | wc -l)
while(( $FileNum > $ReservedNum ))
do
#取最旧的文件,*.*可以改为指定文件类型
OldFile=$(ls -rt *.* | head -1)
echo "Delete File:"$RootDir'/'$OldFile
rm -f $RootDir'/'$OldFile
let "FileNum--"
done
Linux shell语句保留最新的几个文件
 
执行的结果会删除
Linux shell语句保留最新的几个文件
 
接下来,再提供一种组合删除语句
ls -lt | awk '{if(NR>5){print "rm "$9}}' | sh
Linux shell语句保留最新的几个文件
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29558.html