Linux 保留目录下最新的几个文件 shell命令
作者:互联网
Linux 保留目录下最新的几个文件 shell命令
#!/bin/bash
#文件名后缀
file_type=".jar"
#保留最新的文件个数
num=10
file_num=$(ls -ltr | grep -v "total" | grep "^-" | grep ${file_type} | wc -l)
if [ ${file_num} -gt ${num}];then
let num_del=$(file_num)-${num}
ls -ltr | grep -v "total" | grep "^-" | grep ${file_type} | awk '{print $9}' | head -n ${num_del} | xargs rm -rf
fi
命令说明:
- ls -ltr:按行列出文件,按时间倒叙,旧的在上
- grep -v “total”:排除ls -ltr时,第一行的total栏
- grep “^-”:匹配文件类型
- awk ‘{print $9}’:只输出文件名
- head -n ${num_del}:匹配前num_del行的文件
- wc -l:统计行数(相当于统计有多少个这样的文件)
- -gt:大于
标签:ltr,shell,grep,num,ls,file,Linux,total,目录 来源: https://www.cnblogs.com/Torres-tao/p/16224913.html