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

2025-10-20 22:59:23

1、获取当前脚步所在目录

RootDir=$(cd `dirname $0`; pwd)

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

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

ls -lt

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

3、显示文件数

FileNum=$(ls -l | grep ^- | wc -l)

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

4、取最旧的文件

OldFile=$(ls -rt *.* | head -1)

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

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

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

6、执行的结果会删除

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

7、接下来,再提供一种组合删除语句

ls -lt | awk '{if(NR>5){print "rm "$9}}' | sh

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

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