繁体   English   中英

使用linux过滤apache文件

[英]Filter apache files using linux

我正在尝试过滤掉一堆apache日志文件到EXCLUDE所有具有以下要求的请求:

  • 模式/static/ (这是我要排除的images / js文件夹)
  • 10.xxx.xxx.xxx (其中x是任意数字 - 我不希望包含内部请求)
  • "GET / HTTP/1.1" 200之外的任何响应 - 只需要成功

我有一个包含多个.gz文件的文件夹。 有没有办法运行一个linux命令来执行正确的过滤并将结果保存在一个名为apache_log.txt的文件中?

我的Linux知识非常有限,所以非常感谢任何帮助!

对于每个文件* .gz,解压缩并过滤掉不需要的静态和本地,并过滤所需的“GET 200”,并将其附加到结果文件中。

for f in *.gz ; do zcat $f | grep -v '/static/' | grep -v '10\.[0-9]\+\.\.[0-9]\+\.[0-9]\+' | grep 'GET / HTTP/1.1" 200' >> apache_log.txt ; done

或多行。

for f in *.gz
do
    zcat $f \
        | grep -v '/static/' \
        | grep -v '10\.[0-9]\+\.\.[0-9]\+\.[0-9]\+' \
        | grep 'GET / HTTP/1.1" 200' \
        >> apache_log.txt
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM