树莓派下无需解压读取zip内文件提示文件名不匹配问题咨询
解决步骤
- 首先确认压缩包内的真实文件路径,执行如下命令列出所有内部文件:
unzip -l ~/archive.zip
输出结果会展示压缩包内所有文件的完整路径,此时你可以确认file1.txt的实际路径,通常匹配失败的原因是文件实际带父目录前缀(例如archive/file1.txt、home/pi/file1.txt等),或者存在大小写偏差、空格、特殊字符。
注意:你之前尝试的
~/archive.zip/file1.txt、~/archive/file1.txt都属于外部系统路径,不是压缩包内部路径,直接传递给unzip必然会匹配失败。
- 使用查询到的压缩包内部完整路径执行读取命令即可,比如你查到内部路径是
archive/file1.txt,就执行:unzip -p ~/archive.zip archive/file1.txt | less
异常排查方案
- 如果文件名包含空格、特殊字符,需要用引号包裹内部路径:
unzip -p ~/archive.zip "my file1.txt" | less - 先验证压缩包完整性,排除文件损坏导致的读取异常:
unzip -t ~/archive.zip - 替代读取方案:可以直接执行
less ~/archive.zip手动选择对应文件查看,也可以使用7z命令输出内容:7z e -so ~/archive.zip 内部完整路径 | less
内容的提问来源于stack exchange,提问作者rustyBucketBay
相关产品推荐
相关产品推荐

