默认情况下,bzcat
(或者,bzip2 -dc
或者bunzip2 -c
)将保留源(压缩文件)而不删除它。在使用或其中一个等效命令时,是否有标志或其他方法(除了此后手动rm
编辑文件)来删除压缩文件?bzcat
(如果你想知道的话,我想要这样做的原因是,我希望在将未修改的输出写入文件sed
后,对输出进行修改以便立即使用tee
。当然,我可以这样做bzcat | sed ; bunzip2
,但这需要两次解压。还有其他解决方案吗?实际问题肯定会受到欢迎,以代替我上面提出的问题的答案。
答案1
为什么不
bzcat 文件 | tee no_modifications | sed blah blah
?
这将解压缩、tee(或拆分数据)到一个文件调用no_modifications和stdout中,您可以将其通过管道传输到sed中以供“立即使用”。
如果你真的想删除原来的,那么我担心你只能
bzcat 文件 | tee no_modifications | sed blah blah && rm 文件