我需要将目录的内容移动到一个归档文件中,我很高兴地发现“-m”选项正是这样做的。(当然,我用的是“-t”选项。:))
但不幸的是,如果目录在zip操作之后变为,则目录本身将被删除。我不想发生这种事,但找不到任何这样的选择。
你们有什么办法让我这么做吗?
下面是我在shell脚本中使用的实际(模糊)命令:
zip -qrTmy $archive_name $files_dir
最佳答案
除非目录包含子目录,否则在压缩/移动后重新创建它并不困难:
zip -qrTmy $archive_name $files_dir
mkdir $files_dir
如果目录包含子目录,则需要将该目录结构复制为临时名称,执行zip/move,重新命名结构。我还在研究如何实现这个想法。如果我知道解决方案,我会更新这篇文章。
更新
如果目录包含子目录:
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
关于linux - “zip -m”如果目录变为空,请勿删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11249181/