日期:2014-05-16  浏览次数:20612 次

从大量多数据文件中过滤关键字
服务器每天都会产生一个日志文件,大小在600M左右,目前有50个文件左右。

我想提取所有日志中含有关键字"code=305"的每行文本,我现在做法是:
grep "code=305" data2011_12_22.lg > /myspace/305_20111222.lg
这样重复多次,生成50个过滤文件,再将其合并


这样太麻烦了,请教下,有什么更快捷的方法吗?




------解决方案--------------------
grep -h "code=305" file1 file2 ...

或者
sed -n '/code=305/p' file1 file2 ...
------解决方案--------------------
grep -h "code=305" *.lg > xxx
------解决方案--------------------
或者
awk '/code=305/' file1 file2 ...
------解决方案--------------------
把'>'换成'>>',采用追加的形式,将所有数据追加到原有文件中……
grep 'regex' *.log >> logsave.log
不过要注意logsave.log会持续变大,必要的时候用split拆开……
------解决方案--------------------
grep支持通配符

grep "code=305" *.log >my.log