读书人

从大量多数据文件中过滤关键字解决思路

发布时间: 2012-03-16 16:34:56 作者: rapoo

从大量多数据文件中过滤关键字
服务器每天都会产生一个日志文件,大小在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

读书人网 >UNIXLINUX

热点推荐