grep -i -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql
这已经在一个相当强大的 linux 服务器上运行了一个小时,否则不会重载。 grep 的任何替代品?关于我的语法的任何可以改进的地方,(egrep,fgrep 更好?)
该文件实际上位于与挂载到另一台服务器共享的目录中,但实际磁盘空间是本地的,所以应该没有什么区别?
grep 占用了高达 93% 的 CPU
最佳答案
这里有几个选项:
1) 在您的 grep 命令前加上 LC_ALL=C
以使用 C 语言环境而不是 UTF-8。
2) 使用 fgrep
因为您要搜索的是固定字符串,而不是正则表达式。
3) 如果不需要,请删除 -i
选项。
所以你的命令变成:
LC_ALL=C fgrep -A 5 -B 5 'db_pd.Clients' eightygigsfile.sql
如果您将文件复制到 RAM 磁盘,它也会更快。
关于bash - 以任何方式加速一个巨大的文件(80GB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913014/