如何将文件(例如:)解压缩foo.zip到具有相同名称 ( foo/)的文件夹中?
基本上,我想创建一个 unzip 的别名,将文件解压缩到同名文件夹中(而不是当前文件夹)。这就是 Mac 的解压缩实用程序的工作方式,我想在 CLI 中执行相同的操作。
根据 zip 文件的创建方式,有时它会直接提取所有文件,有时会将文件提取到子目录中。
如果后者为真,我如何强制unzip命令“忽略”第一级目录?
例子:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Run Code Online (Sandbox Code Playgroud)
我得到的是/tmp/omeka/omeka-1.5.1/:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Run Code Online (Sandbox Code Playgroud)
我想要的是提取到/tmp/omeka/,的文件(上一级,目录结构中不包含版本号)
/tmp/omeka/(files)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用-j“垃圾路径”选项,但我想保留子目录结构,而不是顶级目录结构。我怎样才能做到这一点?
有没有办法在不先解压到临时目录的情况下将zip存档转换为存档tar?(并且没有编写我自己的taror实现unzip)
我有一个大小为 1.5 GB 的 zip 文件。
它的内容是一个可笑的大型纯文本文件 (60 GB),目前我的磁盘上没有足够的空间来提取它,我也不想提取它,即使我有。
至于我的用例,如果我可以检查部分内容就足够了。
因此,我想将文件解压缩为流并访问文件的范围(就像可以通过普通文本文件的头部和尾部)。
通过内存(例如从 32GB 标记开始提取最大 100kb)或按行(给我纯文本行 3700-3900)。
有没有办法实现这一目标?
我试图找出use Test::Versioncpan 中有哪些模块。所以我习惯minicpan镜像它。我的问题是我需要遍历下载的档案,并 grep 档案中的文件。谁能告诉我我该怎么做?最好以一种方式告诉我存档中的哪个文件以及它在哪一行。
(注意:它们并非都是 tarball,有些是 zip 文件)
我正在尝试压缩一个目录
/home/cyrus/sql
Run Code Online (Sandbox Code Playgroud)
我想在压缩文件夹时更改工作目录:
/ $ zip -b /home/cyrus sql.zip /home/cyrus/sql
Run Code Online (Sandbox Code Playgroud)
但是当我检查 zip 文件时:
/ $ unzip -l sql.zip
Archive: sql.zip
Length Date Time Name
--------- ---------- ----- ----
0 2013-05-30 10:59 home/cyrus/sql/
1776642 2013-05-23 10:22 home/cyrus/sql/wordpress.sql
--------- -------
1776642 2 files
Run Code Online (Sandbox Code Playgroud)
根文件夹应该是sql. 我做错了什么?
我有一个包含多个文件的文件夹
文件夹
- artifact1.app
- artifact2.ext2
- 神器3.ext3
- ...
我的目标是从这个文件夹之外(所以不使用cd命令)压缩文件而不包括文件夹目录。
zip -r ./folder/artifact.zip ./folder/artifact1.app
Run Code Online (Sandbox Code Playgroud)
此命令在最终 zip 中包含文件夹 dir。任何提示?
相关问题:压缩文件夹的内容而不包括文件夹本身
我有许多 zip 档案,每个档案都包含许多 zip 档案。递归提取此 zip 存档及其子 zip 存档中包含的所有文件(这些文件本身不是 zip 存档)的最佳方法是什么?