我有一个6GB的httpd日志文件,我想要删除正在进行的行 66.249(ip block of googlebot)我确实有一个
SetEnvIf Remote_Addr "66\.249\.\." dontlog
在我的httpd.conf文件中输入,但它似乎没有工作
所以有像
这样的linux命令grep -removelines-starting "66.49" acessslog
答案 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用于覆盖输入文件。