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

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

相关阅读在:

Linux Shell脚本_备份文件的批量删除1.0

Linux Shell脚本_备份文件的批量删除2.0

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

这样,就简单了很多

看代码

  1. #!/bin/sh  
  2. #just a test   
  3. BACK="back.recovery" 
  4. #最后一行内容   
  5. lastline=`tail -n 1 $BACK`   
  6. echo "lastest file" $lastline  
  7. #最后一行的时间----最新时间   
  8. lastdate=${lastline:0-19:10}  
  9. #总行数   
  10. totallines=`grep -c "" $BACK `  
  11. #最新文件的行数   
  12. lastlines=`grep -c "$lastdate" $BACK `  
  13. #除了最新文件所有剩余文件最后一行行号   
  14. lastoneline=`expr $totallines - $lastlines`  
  15. #倒数第二新file   
  16. lastonefile=`sed -n "$lastoneline"p $BACK `   
  17. echo "倒数第二新file"$lastonefile   
  18. echo $lastonefile > back.re   
  19. echo $lastline >> back.re  
  20. #倒数第二新的时间   
  21. lastonedate=${lastonefile:0-19:10}  
  22. #最新两个时间点文件的文件名   
  23. lastfile1=${lastline:0-27}   
  24. lastfile2=${lastonefile:0-27}   
  25. echo "save file:" $lastfile1 ===== $lastfile2  
  26. #mkdir temps   
  27. mv open.war* temps/   
  28. cd temps/  
  29. #把需要的文件移出   
  30. mv ${lastfile1} ..   
  31. mv ${lastfile2} ..  
  32. #删除过期文件 和 临时文件夹   
  33. rm open*   
  34. cd ..   
  35. rmdir temps/    
  36. echo "deleted ..........."  

相关推荐