当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]新手求一个TAR的脚本,新新的新手,以前没接触过linux,请写详细一些,麻烦了.
帖子发表于 : 2008-07-02 16:36 

注册: 2008-07-02 16:31
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
我想用TAR压缩指定目录下的多个文件,但每个文件单独生成一个独立的TAR文件.
比如我在当前用户名的主文件夹内,建立一个名为123的文件夹,向该文件里放1000个任意文件,如何在该文件夹下执行上面上面说的那个任务呢?
因为对脚本完全不了解,所以万分感谢请写详细一些吧.


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-02 16:45 

注册: 2007-12-05 10:16
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
我也是个新生 初学脚本编程
我的思路是:做一个Touch 1000个文件并放入那个123文件夹 然后tar这个文件夹
不知道会不会很幼稚 :D
期待高手出来解决


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-02 17:59 
头像

注册: 2007-04-25 13:12
帖子: 2838
送出感谢: 0 次
接收感谢: 0 次
for i in *; do tar zcvf "$i.tar.gz" "$i";done


_________________
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-03 16:00 

注册: 2008-07-02 16:31
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
这个不行吧,我试了试,把当前文件夹打成了一个大包然后直接输出了.
要把文件夹内的所有小文件打包成独立的包~~~


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-03 16:06 
头像

注册: 2007-04-25 13:12
帖子: 2838
送出感谢: 0 次
接收感谢: 0 次
for i in 123/*; do tar zcvf "$i.tar.gz" "$i";done


_________________
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-03 16:07 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
要先cd进去的


_________________
关注我的blog: ε==3


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-07-03 21:23 

注册: 2007-06-10 17:41
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
先进入你要打包的文件目录,然后
for i in *;do tar cvf "$i.tar" "$i";[ -f 123.tar ] && tar rvf 123.tar "$i.tar";[ ! -f 123.tar ] && tar cvf 123.tar "$i.tar";rm -f "$i.tar";done


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-08 16:32 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
用 find 命令即可
代码:
find ~/123/ -exec tar cf {}.tar {} \;


_________________


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-07-08 17:28 
头像

注册: 2007-06-27 19:53
帖子: 211
送出感谢: 0 次
接收感谢: 0 次
:arrow:


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-07-08 19:24 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
patrickhe 写道:
用 find 命令即可
代码:
find ~/123/ -exec tar cf {}.tar {} \;
怎么不用 {}+的啊。


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-07-09 12:53 
头像

注册: 2005-07-21 19:13
帖子: 681
地址: Peking, China
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
patrickhe 写道:
用 find 命令即可
代码:
find ~/123/ -exec tar cf {}.tar {} \;
怎么不用 {}+的啊。



引用:
-exec command {} +
This variant of the -exec option runs the specified command on the selected files, but the command line is built by appending each selected file name at the
end; the total number of invocations of the command will be much less than the number of matched files. The command line is built in much the same way that
xargs builds its command lines. Only one instance of '{}' is allowed within the command. The command is executed in the starting directory.


_________________


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-07-11 13:50 

注册: 2007-04-25 11:49
帖子: 393
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash
cd $1
for i in *; do tar zcvf "$i.tar.gz" "$i";done
cd ..


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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