生成测试数据脚本
点击查看代码
#!/bin/bash
#在对应文件夹下生成指定数量的文件夹
#参数 文件夹,需要新生成的文件夹个数
createDirs(){
cd $1
i=1
while(( $i<=$2 ))
do
newDir="dir${i}"
echo $newDir
mkdir $newDir
let "i++"
sleep 1 #等一秒再生成下一个文件夹
done
ls -t
}
#待生成文件夹的根目录
dirsBasePathArr=("/shell/testdelfile/dirs" "/shell/testdelfile/dirs2")
for dir in ${dirsBasePathArr[*]}; do
createDirs $dir 10
done
删除对应文件夹下的文件,保留文件修改时间最近的前N个脚本
点击查看代码
#!/bin/bash
#删除对应文件夹下的文件,保留文件修改时间最近的前N个
#参数:待删除文件夹,需要保留的个数
deleteFilesByDir(){
fileIndex=1 #文件记录索引
#按照创建时间从新到旧列出所有文件
cd $1
for file in `ls -t`
do
if [[ $fileIndex -gt $2 ]]; then
echo $file' need delete'
rm -rf $file
else
echo $file' no delete'
fi
let "fileIndex++"
done
}
#待删除的文件夹目录
dirsBasePathArr=("/shell/testdelfile/dirs" "/shell/testdelfile/dirs2")
for dir in ${dirsBasePathArr[*]}; do
deleteFilesByDir $dir 5
done