bash – greping一个巨大的文件(80GB)以任何方式加速?

前端之家收集整理的这篇文章主要介绍了bash – greping一个巨大的文件(80GB)以任何方式加速?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
grep -i -A 5 -B 5 'db_pd.Clients'  eightygigsfile.sql

这已经在一个相当强大的linux服务器上运行了一个小时,否则不会重载。
任何替代grep?任何关于我的语法,可以改进,(egrep,fgrep更好?)

文件实际上是在与另一个服务器的挂载共享的目录中,但实际的磁盘空间是本地的,所以不应该有什么区别?

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磁盘,也会更快。

猜你在找的Bash相关文章