shell脚本遍历目录内的文件,保留按时间最新的三个文件,
###最近需要按时间排序目录内的jar包,保留最新的三个,其余的删除,特此记录下这个脚本
#!/bin/bash
##保留最近的三个jar包,我的jar包命名是 xxx.jar.2024-xx-xx
cd /opt/apps
for d in `ls -lrt|awk '{print $9}'`
do
if [ -d $d ]; then
cd $d
zs=`find . -name "*jar.2*" -type f|wc -l`
if [ $zs -gt 3 ]; then
bl=$((zs-3))
sc=`find . -name "*jar.2*" -type f -exec stat --format '%Y %n' {} \; | sort -n|awk '{print $2}'|head -n $bl`
rm -f $sc
fi
cd ../
fi
done