Linux shell 语句保留最新的几个文件
1、获取当前脚步所在目录
RootDir=$(cd `dirname $0`; pwd)

2、查看当前目录的文件数详细信息
ls -lt

3、显示文件数
FileNum=$(ls -l | grep ^- | wc -l)

4、取最旧的文件
OldFile=$(ls -rt *.* | head -1)

5、终上所述,完成速的代码如下:
#!/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

6、执行的结果会删除

7、接下来,再提供一种组合删除语句
ls -lt | awk '{if(NR>5){print "rm "$9}}' | sh

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:42
阅读量:94
阅读量:131
阅读量:44
阅读量:156