我正在编写一个 shell 脚本,它将 ZIP 文件解压缩到现有的文件层次结构中,可能会覆盖某些文件。
问题是 unzip 命令要求确认:
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
是否有强制解压缩覆盖文件的选项?
如何在不提取包含在其中的 .zip 文件的情况下读取存档中特定文件的内容?我正在使用 Linux 命令行。
较早的问题询问有关查看存档目录的信息。但对我来说,仅查看存档中的文件列表是不够的,我需要查看存档中文件的内容。
我一直在 OSX 上的人制作的 zip 文件中看到的这些 __MACOSX 文件夹是什么?有些需要多达 30% 的文件。
什么程序正在生成这些 __MACOSX 文件夹,mac 用户如何避免这个错误?
我正在尝试压缩一个目录(在 Unix 上通过 SSH),但我需要排除几个子目录(以及其中的所有文件和目录)。
到目前为止,我有这个:
zip -r myarchive.zip dir1 -x dir1/ignoreDir/**/*
Run Code Online (Sandbox Code Playgroud)
不过这似乎行不通。
我也试过
zip -r myarchive.zip dir1 -x dir1/ignoreDir1/* dir1/ignoreDir2/*
Run Code Online (Sandbox Code Playgroud)
但是,这仍将包括 ignoreDir1 和 ignoreDir2 中的子目录。
我要排除的目录中的子目录结构非常庞大,因此我不能简单地将每个目录添加到 -x 参数中。
有谁知道如何做到这一点?
假设我有 10,000 个 XML 文件。现在假设我想将它们发送给朋友。在发送它们之前,我想压缩它们。
结果:
Resulting Size: 62 MB
Percent of initial size: 100%
Run Code Online (Sandbox Code Playgroud)
命令:
for x in $(ls -1) ; do echo $x ; zip "$x.zip" $x ; done
Run Code Online (Sandbox Code Playgroud)
结果:
Resulting Size: 13 MB
Percent of initial size: 20%
Run Code Online (Sandbox Code Playgroud)
命令:
zip all.zip $(ls -1)
Run Code Online (Sandbox Code Playgroud)
结果:
Resulting Size: 12 MB
Percent of initial size: 19%
Run Code Online (Sandbox Code Playgroud)
命令:
cat *.xml > oneFile.txt ; zip …
Run Code Online (Sandbox Code Playgroud) 我有一个输出文本文件的批处理文件。我想如果我也能把它拉上拉链就好了。
这将在不受控制的环境中使用,因此我无法假设是否存在第三方软件产品,例如7-Zip等。这需要使用 Windows 现在内置的功能来压缩文件。
在 Finder 中,右键单击文件或目录,从下拉列表中选择压缩,最后得到一个压缩文件。
是否可以从终端做同样的事情?
如何在带有命令行工具的 osx 上列出带有文件大小和压缩率(或打包大小)的 zip 内容?
zip ×10
linux ×5
command-line ×3
macos ×3
unix ×2
batch ×1
compression ×1
exclude ×1
gzip ×1
windows ×1