当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-10-29 20:44 

注册: 2008-10-29 20:29
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
比方说目录image下有数个依次命名的子目录:Dec01,Dec02,Dec03等等,每个子目录下有若干图片,也都是依次命名的,如Dec01/image01.jpg,image02.jpg等等。
想用个循环语句来批量转换这些图片,可是现在只知道循环条件中用sed ‘i/\,jpg’可以查找本目录下所有i打头的图片,不知道怎么进每个目录找图片。
我用来转换单个目录下的所有图片的命令,请牛人们看看:

for f in `ls image | sed 'i/\.jpg//'`;
do
convert -resize 256x128! -depth 8 image/$f.jpg pgm/$f.pgm
done


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-10-29 23:27 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
要用递归
代码:
func()
{
   for d in "$*/*"; do
      if [ -d "$d" ]; then
         func "$d"
      else
         #处理图片
      fi
}
func "/images"


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-10-30 10:30 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
for i in $(ls);
这种结构是不推荐的,如果文件名中有空格就出问题了。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-10-30 10:31 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
find . -name "i*.jpg" -exec XXXXX 如何?


_________________
关注我的blog: ε==3


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-11-04 20:27 

注册: 2008-10-29 20:29
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
终于又能上网来,多谢指教,我接着学习,还没有接触递归啊。
因为图片的是批量截取的,所以文件名比较规整,就没有遇到空格的问题,如果不用for语句,那可以用什么呢?直接用find然后加命令?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 请教如何用循环语句批量处理多个目录下的图片
帖子发表于 : 2008-11-04 23:07 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
stoneduke 写道:
终于又能上网来,多谢指教,我接着学习,还没有接触递归啊。
因为图片的是批量截取的,所以文件名比较规整,就没有遇到空格的问题,如果不用for语句,那可以用什么呢?直接用find然后加命令?


for file in *; 是没问题滴。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译