无需额外工具,如何在CMD或SAS中列出压缩文本文件内容?
Got it, let's break this down for both CMD and SAS—no extra downloads or software installs required, just using the built-in tools each environment provides:
在CMD中列出压缩文本文件内容
Windows CMD本身没有直接读取压缩文件内容的原生命令,但对于最常见的ZIP格式,你可以用内置的expand命令临时解压目标文本文件,查看后再清理临时文件,全程无需额外软件:
临时解压ZIP中的目标文本文件到当前目录:
expand your_file.zip target_text.txt -f:*(把
your_file.zip换成你的压缩文件名,target_text.txt换成压缩包里你要查看的文本文件名)查看解压后的文本内容:
type target_text.txt(可选)删除临时解压的文件:
del target_text.txt
注意:CMD内置工具仅支持ZIP格式,若你需要处理GZIP等其他压缩格式,CMD原生没有支持方案,这时候可以优先用SAS的内置能力。
在SAS中列出压缩文本文件内容
SAS内置了对常见压缩格式(ZIP、GZIP等)的支持,无需安装任何包,直接通过FILENAME语句指定压缩引擎就能读取内容:
处理ZIP压缩文件
如果你的文本文件在ZIP包里,可以直接指向ZIP文件并指定内部的文本文件名:
/* 定义ZIP文件的引用,使用zip引擎 */ filename zip_ref zip 'C:\your\path\to\file.zip'; /* 读取并输出ZIP内的文本文件内容到SAS日志 */ data _null_; infile zip_ref('inside_text.txt') lrecl=32767; /* inside_text.txt是ZIP里的文本文件名 */ input; put _infile_; /* 输出每行内容到日志 */ run;
处理GZIP压缩文件
如果是.gz格式的单文本压缩文件,直接用gzip引擎即可:
/* 定义GZIP文件的引用,使用gzip引擎 */ filename gz_ref gzip 'C:\your\path\to\file.txt.gz'; /* 读取并输出GZIP内的文本内容到SAS日志 */ data _null_; infile gz_ref lrecl=32767; input; put _infile_; run;
这样就能直接在SAS日志里看到压缩文件的文本内容,完全不需要提前解压到磁盘,也不用额外安装任何工具。
内容的提问来源于stack exchange,提问作者Mohit Thakur
相关产品推荐
相关产品推荐

