如何在不解压缩包含在其中的.zip的情况下读取存档中特定文件的内容?我正在使用Linux命令行。
一个较早的问题询问有关查看存档目录的信息。但是对我来说,仅查看存档中文件的列表是不够的,我需要查看存档中文件的内容。
如何在不解压缩包含在其中的.zip的情况下读取存档中特定文件的内容?我正在使用Linux命令行。
一个较早的问题询问有关查看存档目录的信息。但是对我来说,仅查看存档中文件的列表是不够的,我需要查看存档中文件的内容。
Answers:
unzip -l archive.zip
列出ZIP归档文件的内容,以确保文件在其中。
使用该-c
选项可以将命名文件的内容写入stdout(屏幕),而不必解压缩整个存档。
unzip -c archive.zip file1.txt file2.txt | less
对于这种操作,我总是将输出通过管道传输到less
,否则整个文件会在屏幕上飞散,然后才能读取它。
BTW zcat非常适合查看.gz文件的内容,而无需先解压缩它们。
less archive.zip
实际上显示了文件列表。
$LESSOPEN
设置为lesspipe,你可以less foo.gz
查看解压的内容。(@aviv:这是使less foo.zip
管道unzip -l foo.zip
自身进入的同一件事)。
unzip -c archive.zip '*' | less
可以满足我的需求:获取zip存档的内容。
Emacs
从命令行开始,然后使用Zip-Archive
模式打开您的zip文件。无需任何Emacs / elisp调整(新用户通常会担心),您将看到文件详细信息,例如zipinfo
:模式,长度,日期,时间
然后,您将能够使用标准快捷方式在缓冲区中打开文件,甚至将更改保存回存档中:
Ctrl-x Ctrl-s
Ctrl-k
以返回到存档缓冲区并继续在Zip-Archive
缓冲区中时,Ctrl-h m
用于在帮助视图中获取所有可用的快捷方式。
希望这可以引导您发现Emacs的强大功能
我发现less archive.zip
这是最简单的方法。
如果该文件包含在zip存档中,则只需要从存档中提取该文件(可能取决于存档类型,某些档案无法单独提取文件)