我在
tarball
中有一个发布文件。不过,我希望最终版本有一些附加文件并移动一些内容,以方便用户。
这意味着我需要做三件事:
虽然我已经清楚如何执行步骤 2,但使用
File
和朋友,我尝试了几种方法来执行步骤 1 和 3,但都失败了。
我尝试过使用
:zip
,但它返回了错误的编码错误,可能是因为该文件不是 zip
,而是 tar
。
我也知道
File.open("path", :read, :compressed)
,但我不想读任何东西,我想将其提取到一个新文件夹中。
Unzip
,但它不适合我的用例。
如何将
tar
文件提取到文件夹中并将文件夹压缩为 tar
文件?
我能够使用以下方法提取文件:
:ok = :erl_tar.extract("tar_path", [{:cwd, "tmp"}, :compressed])
这会将 tar 文件解压到 tmp 文件夹中。一旦到达那里我就可以做剩下的事情!