在不提取的情况下获取压缩文本文件中的文本

get the text inside a zipped text file without extraction

我想在不提取文件的情况下获取 archive.zipfile1.txt 的内容。
对于所有这些命令,我​​获得 caution: filename not matched: file1.txt

unzip -p ~/archive.zip ~/archive.zip/file1.txt | less
unzip -p ~/archive.zip ~/archive/file1.txt | less
unzip -p ~/archive.zip file1.txt | less

archive.zip在主目录下,各自的名字都正确。 对路径进行硬编码,会产生相同的不良结果:

unzip -p /home/pi/archive.zip ~/archive.zip/file1.txt | less
unzip -p /home/pi/archive.zip ~/archive/file1.txt | less
unzip -p /home/pi/archive.zip file1.txt | less

我正在尝试在树莓派中执行此操作。 预期的输出是 file1.txt.

的内容

可能 zip 解压缩到一个目录中并且文件存在于该目录中,例如 file.zip 创建一个 someproject-name 顶级目录并且内容位于该目录下。所以你可以这样做:

unzip -p /home/pi/archive.zip '*/file1.txt' 因此,由于 glob,它也会查看顶级目录。