首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zgrep最近是否重新使用未压缩的文件?

zgrep最近是否重新使用未压缩的文件?
EN

Unix & Linux用户
提问于 2018-03-12 14:20:31
回答 2查看 578关注 0票数 1

我在一个目录中的for循环中通过zgrep文件调用*.gz。

由于日志文件很大(每个文件大约1GB,大约30个文件),命令需要很长时间。

我在/tmp文件夹中看到了几个未压缩的文件,zgrep正在创建这些文件。

我想知道,zgrep是否重用了它自己的未压缩文件?还是每次解压缩(即for循环的下一次迭代)?

脚本可以

代码语言:javascript
复制
#!/bin/bash

while read -r request;
do
    zgrep $request */log.prefix.* | grep ..... <complex command>
read < /tmp/allRequestIds.txt

有没有优化zgrep的提示?

EN

回答 2

Unix & Linux用户

发布于 2018-03-12 14:35:04

zgrep PATTERN FILE本质上与zcat FILE | grep PATTERN或其某些变体相同。如果在循环中运行它,它将不会重用以前未压缩的文件。

为了加快处理速度,允许zgrep直接从/tmp/allRequestIds.txt文件读取模式:

代码语言:javascript
复制
zgrep -f /tmp/allRequestIds.txt */log.prefix.*

如果您想要固定的字符串模式匹配而不是正则表达式匹配,也可以使用-F

代码语言:javascript
复制
zgrep -F -f /tmp/allRequestIds.txt */log.prefix.*
票数 2
EN

Unix & Linux用户

发布于 2018-04-12 23:14:12

试试ripgrep,它具有与grep兼容的语法,而且功能更强大,因为它是用生锈编写的,它构建在锈蚀发动机之上,使用有限自动机、SIMD和积极的文字优化使搜索非常快。检查一下详细分析

示例用法:

代码语言:javascript
复制
rg -z "pattern" .

-z/--search-zip在压缩文件(gzbz2xzlzma)中搜索。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/429742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档