当前位置: 技术问答>linux和unix
从大量多数据文件中过滤关键字
来源: 互联网 发布时间:2017-01-27
本文导语: 服务器每天都会产生一个日志文件,大小在600M左右,目前有50个文件左右。 我想提取所有日志中含有关键字"code=305"的每行文本,我现在做法是: grep "code=305" data2011_12_22.lg > /myspace/305_20111222.lg 这样重复多次,生成...
服务器每天都会产生一个日志文件,大小在600M左右,目前有50个文件左右。
我想提取所有日志中含有关键字"code=305"的每行文本,我现在做法是:
grep "code=305" data2011_12_22.lg > /myspace/305_20111222.lg
这样重复多次,生成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 ...
或者
sed -n '/code=305/p' file1 file2 ...
|
grep -h "code=305" *.lg > xxx
|
或者
awk '/code=305/' file1 file2 ...
awk '/code=305/' file1 file2 ...
|
把'>'换成'>>',采用追加的形式,将所有数据追加到原有文件中……
grep 'regex' *.log >> logsave.log
不过要注意logsave.log会持续变大,必要的时候用split拆开……
grep 'regex' *.log >> logsave.log
不过要注意logsave.log会持续变大,必要的时候用split拆开……
|
grep支持通配符
grep "code=305" *.log >my.log
grep "code=305" *.log >my.log