Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐: 强烈推荐:Ylmf OS 3.0 正式版发布附迅雷高 XP系统下硬盘安装Fedora 14图文教程
搜索:
您的位置: Linux安全网 > Linux入门 > » 正文

shell 批量处理目录下的文件(改名 删除)

来源: liveforlinux 分享至:

大致说一下 所处理目录里的文件内容如下
20111130102504289.flv  20111130103705649.flv  20111130104629277.flv
 
执行完yamdi(处理视频的一种工具)这一步后是下面这种形式
tmp_20111130102555254.flv  tmp_20111130103855301.flv 

20111130102504289.flv  20111130103705649.flv 
第二步删除的是以2011开头的这些文件 执行完得到结果如下
tmp_20111130102555254.flv  tmp_20111130103855301.flv  tmp_20111130104944916.flv 
第三步就是把tmp开头的文件去掉tmp_这个字段变成如下形式
20111130102555254.flv  20111130103855301.flv  20111130104944916.flv 


  1. #!/bin/bash 
  2. #ls /opt/test/20111204_import 
  3. for x in `ls /opt/test/20111201_import`  
  4. do 
  5.     yamdi -i $x -o tmp_$x -c "modify by mytv365.com" 
  6.       
  7. done 
  8.    
  9.   
  10. cd /opt/test/20111201_import 
  11. rm -rf 2011* 
  12. echo "delete ok" 
  13.  
  14.  
  15. for file in `ls /opt/test/20111201_import` 
  16. do 
  17.      mv $file `echo $file | sed 's/tmp_//g'` 
  18. done 
  19.  
  20. echo "all is ok" 

说说 脚本执行过程中晕倒的问题 yamdi由于处理的目录里面文件数目过多 文件过大 shell有可能处理不过来 而直接调到第二步去  可能是与shell处理能力有关吧 脚本本身没有问题 记录下来主要就是学了怎么批量修改目录下的文件名


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史