假设有log-XXX1,log-XXX2,log-XXX3....等文件,但是由于开发板空间有限,因此要控制文件的数量为3个,而且保留最新的那一个,因此想写一个脚本在每次系统启动时执行一些操作。
1 #!/bin/sh 2 3 4 if [ $(ls -l | grep "log-*" | wc -l) > 3 ] 5 then 6 echo "file > 3" 7 rm -r $(ls -rt | head -n2) 8 fi
ls -l:目的是按行列出文件
grep "log-*":筛选出包含log-为开头的文件
wc -l:统计行数(也就相当于统计有多少个这样的文件)
ls -rt:把文件按从旧到新的顺序排列
head -n2:选取排列的头两个文件,这个数字2可以任意的改变
rm -r:移除目录