我需要将目录的内容移动到存档中,我很高兴地发现“-m”选项正是这样做的。(当然,我将它与“-T”选项一起使用。:))
但不幸的是,如果目录在 zip 操作后变为,则目录本身会被删除。我不希望这种情况发生,但找不到任何这样的选项。
你们有什么想法我怎么能得到这种行为?
这是我在 shell 脚本中使用的实际(混淆)命令:
zip -qrTmy $archive_name $files_dir
除非您的目录包含子目录,否则在 zip/move 之后重新创建它并不难:
zip -qrTmy $archive_name $files_dir
mkdir $files_dir
如果目录包含子目录,那么我们需要将该目录结构复制为一个临时名称,执行压缩/移动,重命名该结构。我仍在研究如何实现这个想法。如果我知道解决方案,我会更新这篇文章。
如果目录包含子目录:
find $files_dir -type d -exec mkdir temp_{} \; # Duplicate the dir structure
zip -qrTmy $archive_name $files_dir
mv temp_$files_dir $files_dir # Restore the dir structure