linux shell脚本_文件的批量删除_3.0_最终版

接上一版本,其实要删除文件,只需要从文本中提取文件名即可,这样可以省去大量的代码

而且现在的要求是把最新两个时间点的最新文件,也就是只有两个文件保存

这样,就简单了很多

看代码

#!/bin/sh #just a test BACK="back.recovery" #最后一行内容 lastline=`tail -n 1 $BACK` echo "lastest file" $lastline #最后一行的时间----最新时间 lastdate=${lastline:0-19:10} #总行数 totallines=`grep -c "" $BACK ` #最新文件的行数 lastlines=`grep -c "$lastdate" $BACK ` #除了最新文件所有剩余文件最后一行行号 lastoneline=`expr $totallines - $lastlines` #倒数第二新file lastonefile=`sed -n "$lastoneline"p $BACK ` echo "倒数第二新file"$lastonefile echo $lastonefile > back.re echo $lastline >> back.re #倒数第二新的时间 lastonedate=${lastonefile:0-19:10} #最新两个时间点文件的文件名 lastfile1=${lastline:0-27} lastfile2=${lastonefile:0-27} echo "save file:" $lastfile1 ===== $lastfile2 #mkdir temps mv open.war* temps/ cd temps/ #把需要的文件移出 mv ${lastfile1} .. mv ${lastfile2} .. #删除过期文件 和 临时文件夹 rm open* cd .. rmdir temps/ echo "deleted ..........."

你可能感兴趣的:(杂七杂八)