我有一个bash脚本,它会从日志文件中获取数值,但它会消耗服务器资源,并且服务器会变得过载。我想在Perl或Python中编写相同的脚本。日志文件大小约为1GB,脚本需要每天运行。
while read i
do
egrep -h $i /opt/logs/oc-resizer.log >> /opt/logs/purge-resizer.tmp
done < /opt/nasa/shahid/logo.csv
答案 0 :(得分:2)
只需将脚本缩小为:
#!/bin/bash
egrep -f /opt/nasa/shahid/logo.csv /opt/logs/oc-resizer.log \
>> /opt/logs/purge-resizer.tmp
速度会快得多。它会更快 - 如果你正在搜索固定字符串而不是模式 - 使用fgrep而不是egrep:
fgrep -f /opt/nasa/shahid/logo.csv /opt/logs/oc-resizer.log \
>> /opt/logs/purge-resizer.tmp
有关详细信息,请参阅man grep
。
我不认为perl或python会比这更快。