#!/bin/bash
#保留文件数
ReservedNum=2
#要删除文件的,父级目录
FileDir=/usr/docker/springCloud/project/
#循环子目录列表
for element in `ls $FileDir`
do
# 拼接成完成目录 (父目录路径/子目录名)
dir_or_file=$FileDir$element
# 获取子目录下的指定文件格式的总数量
FileNum=$(ls -l $dir_or_file | grep 'keda-' |wc -l)
# 输出 删除前的 指定格式的文件数量
echo $element "jar num:" $FileNum
# 如果 数量大于保留数量,那就循环删除 文件
while(( $FileNum > $ReservedNum))
do
OldFile=$(ls -rt $dir_or_file | grep 'keda-'| head -1)
echo $element "Delete jar:"$OldFile
rm -rf $dir_or_file/$OldFile
let "FileNum--"
done
done
# 删除完后,再循环输出一下 每个子目录下的文件数量
for element in `ls $FileDir`
do
dir_or_file=$FileDir$element
FileNum=$(ls -l $dir_or_file | grep 'keda-' |wc -l)
echo $element "jar num:" $FileNum
done
Linux shell命令 批量删除子目录下的文件,保留指定数量的最新文件
猜你喜欢
转载自blog.csdn.net/weixin_42697074/article/details/105585044
今日推荐
周排行