在压缩文件上使用sed

lea*_*ner 10 linux shell sed

我已经编写了一个文件处理程序,现在它需要从压缩文件中读取(.gz解压缩文件可能会大到2TB),

是否有像(zcat/cat)这样的压缩文件的sed等价物,或者有效地执行以下操作的最佳方法是什么?

    ONE=`zcat filename.gz| sed -n $counts`
Run Code Online (Sandbox Code Playgroud)

$ counts:计数器读取(逐行)

上面的方法有效,但对于大文件来说速度很慢,因为我需要读取每一行并在某些字段上执行匹配.

谢谢

编辑

虽然没有直接帮助,但这里有一组zcommands

http://www.cyberciti.biz/tips/decompress-and-expand-text-files.html

C. *_*yer 4

好吧,您可以拥有更快的速度(即使用未压缩的文件)或更多的可用空间(即使用压缩的文件和您显示的管道)...抱歉。使用压缩文件总是会产生开销。