Skip to content

对目录下的每一个文件夹单独打包

从同事那边学到一招,可以通过命令行的方式对目录下的每一个文件夹单独打包

实现

# use tar 
$ find . -maxdepth 1 -type d ! -path '.' -exec tar -cvf "{}.tar" {} \;
# use 7zip
$ find . -maxdepth 1 -type d ! -path '.' -exec 7z a "{}.zip" {} \;
  • find .:搜索当前文件夹
  • -maxdepth 1:遍历第一级深度
  • -type d:寻找目录类型文件
  • ! -path '.':排除上一级目录
  • -exec tar -cvf "{}.tar" {} \;:执行tar打包命令
  • -exec 7z a "{}.zip" {} \;:执行7zip打包命名

进入目录路径,执行上述命令即可将每个文件夹单独打包

相关阅读