努力了过程
一,什么是xzmore
https://man.he.net/man1/xzmore
xzmore, lzmore - 查看 xz 或 lzma 压缩的(文本)文件。
xzmore 是一个过滤器,允许在软拷贝终端上每次一屏地查看 xz(1) 或 lzma(1) 压缩的文本文件。
如果想使用默认的 more 以外的分页程序,可以将环境变量 PAGER 设置为所需程序的名称。提供 lzmore 这个名称是为了与旧版的 LZMA Utils 保持向后兼容。
- e 或 q:当出现
--More--(Next file: file) 提示符时,输入此命令可使 xzmore 退出。 - s:当出现
--More--(Next file: file) 提示符时,输入此命令可跳过下一个文件并继续。
有关在实际查看文件内容时支持的键盘命令列表,请参阅您正在使用的分页程序的手册,通常是 more(1)。
二,参数
[root@bogon ~]# xzmore Usage: xzmore [OPTION]... [FILE]...Like 'more', but operate on the uncompressed contents of xz compressed FILEs.Report bugs to <lasse.collin@tukaani.org>.
三,例子
准备环境
[root@bogon xz]# lscomparison_result_gbk.csv comparison_result_utf8.csv config2.csv results_gbk.csv results_utf8.csv[root@bogon xz]# xz *.csv[root@bogon xz]# lscomparison_result_gbk.csv.xz comparison_result_utf8.csv.xz config2.csv.xz results_gbk.csv.xz results_utf8.csv.xz#如果不带参数,会默认删除源文件,所以我先还原,在进行一次[root@bogon xz]# xz -d *.xz[root@bogon xz]# lscomparison_result_gbk.csv comparison_result_utf8.csv config2.csv results_gbk.csv results_utf8.csv[root@bogon xz]# xz -k *.csv[root@bogon xz]# lscomparison_result_gbk.csv comparison_result_utf8.csv config2.csv results_gbk.csv results_utf8.csvcomparison_result_gbk.csv.xz comparison_result_utf8.csv.xz config2.csv.xz results_gbk.csv.xz results_utf8.csv.xz
1、基本查看(单文件),直接分页查看一个 xz 压缩的文本文件,通过设置环境变量 PAGER,可以使用功能更强大的分页工具(例如 less)来查看
[root@bogon xz]# xzmore comparison_result_utf8.csv------> comparison_result_utf8.csv <------序号,硬件服务器,业务IP,管理IP,cpu逻辑核,单条内存容量,数量,总内存容量,系统盘RAID后容量,数据盘RAID后容量,主机名,对比状态1,大数据计算节点 (类型1),192.168.67.132,22.11.239.200,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异2,大数据计算节点 (类型1),192.168.67.132,22.11.239.201,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异3,大数据计算节点 (类型1),192.168.67.132,22.11.239.202,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异[root@bogon xz]# PAGER=less xzmore comparison_result_utf8.csv------> comparison_result_utf8.csv <------[root@bogon xz]# PAGER=less xzmore comparison_result_utf8.csv
2、依次查看多个
[root@bogon xz]# xzmore *.csv------> comparison_result_gbk.csv <------ѲºìӲ¼þ·þϱǷ,ҵϱIP,¹݀숐,cpuß¼ºɬµ¥͵Ś´牝,˽,Ś´牝,ϵͳƌRAIDº鞁¿,˽¾ޅ˒AIDº鞁¿,»Աɗ´̬ 1,´뽾ݼNj㾚µឨ`э1),192.168.67.132,22.11.239.200,[²»һׂ] 4,[²»һׂ] 4096 MB,[²»һׂ] 1,[²»һׂ] 3.7G,[²»һׂ] 501 GB,[²»һׂ] 501 GB,[²»һׂ] bogon,´畚²2,´뽾ݼNj㾚µឨ`1),192.168.67.132,22.11.239.201,[²»һׂ] 4,[²»һׂ] 4096 MB,[²»һׂ] 1,[²»һׂ] 3.7G,[²»һׂ] 501 GB,[²»һׂ] 501 GB,[²»һׂ] bogon,´畚²3,´뽾ݼNj㾚µឨ`э1),192.168.67.132,22.11.239.202,[²»һׂ] 4,[²»һׂ] 4096 MB,[²»һׂ] 1,[²»һׂ] 3.7G,[²»һׂ] 501 GB,[²»һׂ] 501 GB,[²»һׂ] bogon,´畚²--More--(Next file: comparison_result_utf8.csv) ------> comparison_result_utf8.csv <------序号,硬件服务器,业务IP,管理IP,cpu逻辑核,单条内存容量,数量,总内存容量,系统盘RAID后容量,数据盘RAID后容量,主机名,对比状态1,大数据计算节点 (类型1),192.168.67.132,22.11.239.200,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异2,大数据计算节点 (类型1),192.168.67.132,22.11.239.201,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异3,大数据计算节点 (类型1),192.168.67.132,22.11.239.202,[不一致] 4,[不一致] 4096 MB,[不一致] 1,[不一致] 3.7G,[不一致] 501 GB,[不一致] 501 GB,[不一致] bogon,存在差异--More--(Next file: config2.csv)
补充交互控制示例
- 翻页与退出:在查看文件内容时,支持的键盘命令与
more 相同。例如按 空格键 向下翻一页,按 回车键 向下翻一行,按 q 键随时退出查看。 - 跳过下一个文件:如果在查看多文件时看到提示符
--More--(Next file: file2.txt.xz),此时输入 s 即可跳过该文件,直接查看后续内容。 - 彻底退出:同样在提示符下,输入 e 或 q 可以直接退出整个
xzmore 程序。
四,相关命令
more(1), xz(1), xzless(1), zmore(1)
五,总结
本期比较简单,看似也不实用,不过xzmore 命令的核心实用性在于:允许直接、快速地查看 xz 或 lzma 格式压缩文件的内容,而无需先将其解压到磁盘上。
在处理大型日志文件或归档数据时,这一特性带来了以下几个显著的实用优势:
1. 节省磁盘空间与 I/O 开销
对于动辄几个 GB 的压缩文件,如果仅仅是为了查看其中的内容,传统的做法是先解压再查看,这不仅会占用大量额外的磁盘空间,还会产生极高的读写开销。xzmore 采用流式处理机制,边解压边输出到屏幕,全过程不产生中间文件,极大提升了效率。
2. 内存友好与秒开体验
xzmore 是一个分页过滤器(filter),它不会一次性将整个大文件加载到内存中,而是根据用户的指令逐页加载。即使是几 GB 的超大压缩文本,也能实现“秒开”,且不会导致系统内存溢出。
3. 提供便捷的分页交互
相比于直接将解压内容打印到终端(如使用 xzcat 会导致内容快速滚动无法看清),xzmore 提供了友好的分页浏览体验:
- 翻页控制
- 随时退出
- 多文件处理:支持同时传入多个文件,并在切换时通过提示符让你选择跳过(输入
s)或继续。
最后的最后(Last but not least),欢迎交流:
关注公众号留言,或者在下方直接留言: