免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: xuchaokyle
打印 上一主题 下一主题

如何用shell脚本实现 压缩Linux下某一目录下的所有文件夹 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-07-05 13:04 |只看该作者
不是,我的意思是没有说是压缩到一个文件还是每个文件单独分开,还有就是目录下的文件要不要。

论坛徽章:
0
12 [报告]
发表于 2008-07-06 01:33 |只看该作者
既然是所有文件夹,那就先把所有文件夹列出来,用for逐个压缩:
#---------------------------------------------------------------------#

#!/bin/bash

dirList=`ls -p /tmp | grep / | tr -d /`

for dir in $dirList
do
   tar -czvf /tmp/$dir.tar.gz $dir/
done

#---------------------------------------------------------------------#

我在/tmp下新建了两个dir: 分别 test1,test2,两个文件夹下都一个文件:test.txt
如上script在我的机器上测试通过

[ 本帖最后由 xwmhmily 于 2008-7-6 02:08 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2008-07-06 03:23 |只看该作者
再写一个:
#------------------------------------------------------------------#
#!/bin/bash

cd /tmp

#dirList=`ls -p /tmp | grep / | tr -d /`

dirList=`ls -l /tmp | gawk '/^d/{ print $NF }'`

for dir in $dirList
do
   tar -czvf /tmp/$dir.tar.gz $dir/
done

#------------------------------------------------------------------#

论坛徽章:
0
14 [报告]
发表于 2008-07-07 17:04 |只看该作者
原帖由 xwmhmily 于 2008-7-6 01:33 发表
既然是所有文件夹,那就先把所有文件夹列出来,用for逐个压缩:
#---------------------------------------------------------------------#

#!/bin/bash

dirList=`ls -p /tmp | grep / | tr -d /`

for  ...

麻烦问一下,我能用你的这个脚本去压缩文件夹下的所有文件么.
将文件分别压缩到与文件名同名的独立包中.
我不需要压缩文件夹,只压缩目录中的文件.

论坛徽章:
0
15 [报告]
发表于 2008-07-07 17:50 |只看该作者
原帖由 harbinbeer 于 2008-7-7 17:37 发表
find ./ -type d -maxdepth 1 \! -name ".*" \! -name "" | awk '{print "tar -cf "$1".tar "$1}' | xargs -I {} | sh



find ./ -maxdepth 1 -type d \! -name "." -exec tar -cf {}.tar {} \;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP