Board logo

标题: [问题求助] 无指定文件名条件下的多子目录中文件筛选、剔除shell脚本 [打印本页]

作者: hacker85    时间: 2012-6-4 16:19     标题: 无指定文件名条件下的多子目录中文件筛选、剔除shell脚本

http://bbs.bathome.net/viewthrea ... p;extra=&page=1

链接地址处是一个在win平台下需要解决的问题,在11#已经得到了完整的解决。
因为涉及到的文件是deb格式,自然想到了linux平台如果发生此类问题该如何解决的问题,
现将链接发布至此,供大家讨论学习。

注:1#和17#两楼的内容加起来后,是一个完整的项目要求。
作者: seesea    时间: 2012-7-10 17:29

  1. # 文件夹结构
  2. [seesea@bathome test]$ ls A/
  3. atimetool_1.9.6  atimetool_1.9.7  atimetool_1.9.8
  4. [seesea@bathome test]$ ls A/*/*
  5. A/atimetool_1.9.6:
  6. atimetool_1.9.xxxx.deb
  7. atimetool_1.9.6.deb
  8. A/atimetool_1.9.7:
  9. atimetool_1.9.xxxx.deb
  10. atimetool_1.9.7.deb
  11. atimetool_1.9.6.deb
  12. A/atimetool_1.9.8:
  13. atimetool_1.9.6.deb
  14. # 生成重复列表
  15. [seesea@bathome test]$ for f in A/*/*.deb; do echo ${f##*/}; done | sort | uniq -c | sort -r
  16.       3 atimetool_1.9.6.deb
  17.       2 atimetool_1.9.xxxx.deb
  18.       1 atimetool_1.9.7.deb
  19. # 生成重复列表->文件
  20. [seesea@bathome test]$ for f in A/*/*.deb; do echo ${f##*/}; done | sort | uniq -c | sort -r > result.txt
  21. # 生成操作菜单,根据选择进行操作
  22. [seesea@bathome test]$ select menu in $(awk '{print $2}' result.txt) "QUIT";do if [ "$menu" = "QUIT" ]; then break; fi; rm -rf A/*/$menu; done
  23. 1) atimetool_1.9.6.deb
  24. 2) atimetool_1.9.xxxx.deb
  25. 3) atimetool_1.9.7.deb
  26. 4) QUIT
  27. #? 1
  28. #? 2
  29. #? 3
  30. #? 4
  31. # 删除完文件的结果
  32. [seesea@bathome test]$ ls A/atimetool_1.9.*
  33. A/atimetool_1.9.6:
  34. A/atimetool_1.9.7:
  35. A/atimetool_1.9.8:
复制代码

作者: uxdhoh    时间: 2012-11-13 13:05

谢谢分享哈




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2