1

我需要将目录的内容移动到存档中,我很高兴地发现“-m”选项正是这样做的。(当然,我将它与“-T”选项一起使用。:))

但不幸的是,如果目录在 zip 操作后变为,则目录本身会被删除。我不希望这种情况发生,但找不到任何这样的选项。

你们有什么想法我怎么能得到这种行为?

这是我在 shell 脚本中使用的实际(混淆)命令:

zip -qrTmy $archive_name $files_dir
4

1 回答 1

1

除非您的目录包含子目录,否则在 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
于 2012-06-28T16:52:50.393 回答