当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于批量解压的问题!
帖子发表于 : 2009-01-03 22:28 
头像

注册: 2007-09-04 5:23
帖子: 193
地址: 福建福州
送出感谢: 0 次
接收感谢: 0 次
如果我有一些rar压缩文件,分布在一个pic的下一级不同名字的文件夹中,我现在要解压pic下包括子目录下的所有压缩文件,shell应该怎么写?


文件夹结构是这样的:
首先是主目录pic,这个目录下有文件夹“汽车”(这里面放的是汽车 类型的图片压缩包)、“动物”(这里面放的是动物类型的图片压缩包)、“建筑”(这里放的是建筑类型的压缩包)

现在就是想把汽车类型的解压到汽车文件夹,动物解压到动物文件夹,建筑解压到建筑文件夹。。。。。。。


_________________
内练一口气,外练一口屁,不内不外练志气!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-03 22:56 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
代码:
for d in 汽车 动物 建筑; do
    cd $d
    for f in *.rar; do unrar e "$f"; done
    cd -
done


或者

代码:
for f in */*.rar; do
    unrar e "$f" "${f%/*}/"
done


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-03 23:02 
头像

注册: 2007-09-04 5:23
帖子: 193
地址: 福建福州
送出感谢: 0 次
接收感谢: 0 次
这些应该是shell脚本的代码吧?

如果是在命令行模式下还有其他的方法吗?

(问题已解决,现在想学习学习其他的方法,linux下解决这类问题的办法应该很多吧!)

:em02 :em02 :em02 :em02


_________________
内练一口气,外练一口屁,不内不外练志气!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-03 23:03 
头像

注册: 2006-12-01 23:02
帖子: 622
送出感谢: 0 次
接收感谢: 0 次
提个醒,ls ./pic>file 然后在脚本里读file文件用do把pic文件夹下的目录名分别付给变量i,然后针对每个i,cd 一次然后unrar到当前文件夹。
看看其他人有什么好办法。呵呵


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-04 12:17 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
jin0828 写道:
这些应该是shell脚本的代码吧?

如果是在命令行模式下还有其他的方法吗?

(问题已解决,现在想学习学习其他的方法,linux下解决这类问题的办法应该很多吧!)

:em02 :em02 :em02 :em02

脚本和命令行模式没有什么本质区别,只不过一个是批处理模式,一个是交互式模式。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-04 19:27 
头像

注册: 2007-09-04 5:23
帖子: 193
地址: 福建福州
送出感谢: 0 次
接收感谢: 0 次
那命令行模式的话,要实现这个脚本的功能,命令要怎么写?


_________________
内练一口气,外练一口屁,不内不外练志气!


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-04 19:39 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
jin0828 写道:
那命令行模式的话,要实现这个脚本的功能,命令要怎么写?

把换行用;替换


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 关于批量解压的问题!
帖子发表于 : 2009-01-04 21:36 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
照样写也可以,不过我喜欢用分号代替换行,因为看历史记录时方便些。


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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