Linux删除行包含日志文件中的某些IP地址(66.249)

时间:2017-06-30 05:10:32

标签: apache grep httpd.conf googlebot

我有一个6GB的httpd日志文件,我想要删除正在进行的行 66.249(ip block of googlebot)我确实有一个

SetEnvIf Remote_Addr "66\.249\.\." dontlog

在我的httpd.conf文件中输入,但它似乎没有工作

所以有像

这样的linux命令
grep -removelines-starting "66.49"  acessslog

2 个答案:

答案 0 :(得分:2)

使用sed:如果您直接在文件中进行更改,请使用-i标记。

sed  '/^66\.49/d' logfile  

使用grep:这将打印除以66.49开头的行之外的行

grep -v '^66\.49' logfile  

使用awk:这将打印除以66.49开头的行之外的行

awk '!/^66\.49/' logfile   

答案 1 :(得分:1)

我可以想象sed更适合这项任务。

sed -i '/66\.249/d' ./acessslog

“d”用于删除匹配的模式,而-i用于覆盖输入文件。