bash – greping一个巨大的文件(80GB)以任何方式加速?
发布时间:2020-12-15 16:36:42 所属栏目:安全 来源:网络整理
导读:grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql 这已经在一个相当强大的linux服务器上运行了一个小时,否则不会重载。 任何替代grep?任何关于我的语法,可以改进,(egrep,fgrep更好?) 该文件实际上是在与另一个服务器的挂载共享的目录中,但实际
grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql 这已经在一个相当强大的linux服务器上运行了一个小时,否则不会重载。 该文件实际上是在与另一个服务器的挂载共享的目录中,但实际的磁盘空间是本地的,所以不应该有什么区别? grep占用了93%的CPU
这里有几个选项:
1)使用LC_ALL = C前缀您的grep命令,以使用C语言环境而不是UTF-8。 2)使用fgrep,因为你正在搜索一个固定字符串,而不是正则表达式。 3)删除-i选项,如果你不需要它。 所以你的命令变成: LC_ALL=C fgrep -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql 如果将文件复制到RAM磁盘,也会更快。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |