如何使用命令行提取xip存档?

时间:2016-11-04 03:04:18

标签: xcode macos xcode8 osx-elcapitan macos-sierra

我搜索了如何使用命令行提取XIP存档而没有运气,因此我将离开我自己的解决方案,作为bash函数,在这里。

我找到了灵感here

6 个答案:

答案 0 :(得分:5)

function unxip()
{
    [ -z "$1" ] && echo "usage: unxip /path/to/archive.xip" && return

    # http://newosxbook.com/src.jl?tree=listings&file=pbzx.c
    PBZX="/usr/local/src/pbzx/pbzx" && [ ! -x "$PBZX" ] && echo "$PBZX not found." && return

    [ ! -f "$1" ] && echo "$1 not found." && return

    [ -f "Content" ] || [ -f "Metadata" ] && echo "Content or Metadata already exists." && return

    pkgutil --check-signature "$1" && xar -xf "$1" && "$PBZX" Content | sudo tar x --strip-components=1

    rm "Content" "Metadata"
}

我们首先检查xip文件签名,然后使用xar提取其内容。然后,我们使用Jonathan Levin pbzx正确解压pbzx个块并将输出传递给tar,跳过.以避免覆盖当前的工作目录权限。

这可以解压缩OS X El Capitan上的Xcode8.xip档案。

答案 1 :(得分:4)

你可以尝试:

xip -x [path to .xip file]

答案 2 :(得分:3)

open -W archive.xip将更好地工作,因为它会阻止,直到存档完成打开。

答案 3 :(得分:1)

使用unxip。您可以使用Homebrew安装它:

brew install thii/unxip/unxip

要提取.xip文件:

unxip path/to/.xip

答案 4 :(得分:0)

你可以跑:

open archive.xip

答案 5 :(得分:0)

在macOS Mojave(不确定其他操作系统版本)上,导航到要将内容扩展到的目录,然后运行xip --expand /path/to/xip.xip。例如:

iMac:Applications jeff$ xip --expand /Users/jeff/Downloads/Xcode_11_Beta.xip