War*_*ior 2 linux grep zip compression
假设我有一个很大的 zip 文件(>50GB),并且我想从命令行中提取一些文件。
要获取文件,我运行命令:
unzip -l myfile.zip | grep "foo"
Run Code Online (Sandbox Code Playgroud)
这给了我一个 zip 条目列表;如何提取那些通过 grep 过滤器的文件?我尝试使用xargs unzip -j,但我想要一些更干净的解决方案,因为 zip 条目需要清理无用的信息。
St\xc3\xa9phane 有正确的想法来传递zip与您想要提取的文件名相对应的通配符。解析 的输出unzip意味着您必须留意随之而来的标题行和结尾行。
使用类似的东西:
\n\nunzip -j myfile.zip \'*foo*\'\nRun Code Online (Sandbox Code Playgroud)\n\n小心地引用 shell 中的通配符。
\n\n如果继续沿着 grep unzip\ 的输出方向,去掉标题和尾部并将其减少到文件名列:
unzip -l myfile.zip | sed \'1,3d; /--------- -------/d; $d\'|cut -c31-\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
11992 次 |
| 最近记录: |