如何从压缩档案中提取特定文件夹到给定目录?
我尝试使用
unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"
Run Code Online (Sandbox Code Playgroud)
但这只会在我希望它解压缩到的路径上创建文件夹,并且不执行任何其他操作。
小智 89
unzip /path/to/archive.zip "in/archive/folder/*" -d "/path/to/unzip/to"
Run Code Online (Sandbox Code Playgroud)
Mar*_*ler 45
尝试:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
Run Code Online (Sandbox Code Playgroud)
现有的两个答案都是正确的,但指定目标目录有点棘手,应该更好地澄清。
假设/target/root/是原始解压缩操作的目标目录,例如:
unzip -qq src.zip -d "/target/root/"
Run Code Online (Sandbox Code Playgroud)
然后,/target/root/即使我们只想提取特定的子目录,我们也需要使用与目标目录相同的目录,就像解压缩的方式一样:
unzip -qq src.zip "sub/dir/*" "/target/root/"
Run Code Online (Sandbox Code Playgroud)
毕竟,规则其实很简单,为-d选项使用相同的目标根目录。
顺便说一句,该-qq选项是解压缩非常安静,请随意删除它。