linux下批量压缩文件夹的命令求助。谢谢五湖四海的各位大佬-全球主机交流-

  • Post author:
  • Post category:hostloc
  • Post comments:0评论
  • Post last modified:五月 28, 2020

在/home/123/A  
这个A目录下面,很多个文件夹,
比如:
/home/123/A/1    
/home/123/A/2   
/home/123/A/3  
在1  2  3  下面也会有文件夹,我想批量压缩这些文件夹。
/home/123/A/1/ts  
/home/123/A/2/ts1  
/home/123/A/3/ts2  
请问怎么批量压缩了。不含有/home/123/A/ 路径
文件名是生成的是A目录下。各个文件夹名称呢
我用这个命令。会带有路径在压缩包呢
for i in `find ./* -type d`;do zip $i.zip ./$i/*;done

h2013小时前-2楼
你是要单个单独压缩?如是,find + xargs如否,直接打大包即可不想包含路径有选项可选

van13小时前-3楼

h20 发表于 2020-5-28 09:52你是要单个单独压缩?如是,find + xargs

阅题错误。

夏生啊12小时前-4楼
试试

    for i in `find ./* -type d`;do zip ${i##*/}.zip ./$i/*;done

楼主 飘云12小时前-5楼

夏生啊 发表于 2020-5-28 09:58试试

好的。谢谢大佬。楼主 飘云12小时前-6楼

h20 发表于 2020-5-28 09:52你是要单个单独压缩?如是,find + xargs

大佬。命令呢楼主 飘云10小时前-7楼

夏生啊 发表于 2020-5-28 09:58试试

大佬。报错呢zip error: Nothing to do! (2017.01.13.zip) zip warning: name not matched: ./VOL.021/*Slime10小时前-8楼
使用zip -j参数不会保留文件前面的路径楼主 飘云8小时前-9楼

Slime 发表于 2020-5-28 12:33使用zip -j参数不会保留文件前面的路径

那批量压缩呢。命令应该怎么写呢Slime8小时前-10楼

飘云 发表于 2020-5-28 13:57那批量压缩呢。命令应该怎么写呢

    find -type d -exec zip -qrj ‘{}’.zip ‘{}’ ‘;’

因为是批量压缩,而且带有-j参数,这样做会报路径相同的错误,但压缩是没问题的,解压的时候要小心一点楼主 飘云7小时前-11楼

Slime 发表于 2020-5-28 14:41因为是批量压缩,而且带有-j参数,这样做会报路径相同的错误,但压缩是没问题的,解压的时候要小心一点 …

好的。谢谢大佬。我去测试看看。谢谢了

发表评论