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