1、根据 关键词 查看日志 并返回关键词所在行:
_方法一:_cat 文件名 | grep "关键词"
cat log.log | grep “train” # 返回 log.log 中包含 train 的所有行
_方法二:_grep -i “关键词” 文件名 (与方法一效果相同,写法不同)
grep -i “train” log.log # 返回 log.log 中包含 train 的所有行
2、sed命令对log文件进行抽取操作(截取一段时间内):
sed 截取某时间~现在的系统日志:
sed -n ‘/May 20 17/,$p’ /var/log/messages | less
sed 截选时间段日志:
sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile
根据之前的日志格式,使用正则表达式:
sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile
如果没有问题的话,上面就能筛选出指定的时间段的日志。
截取一段时间内日志到某个文件(part.log 必须存在):
sed -n ‘/2012-02-09/,/2012-09-10/p’ whole.log > part.log
如果截取的日志太大,达到几个G的话,不能去vi打开文件:
3、查看日志 前 n 行:
cat 文件名 | head -n 数量
cat log.log | head -n 200 # 查看 log.log 前 200 行
4、查看日志 尾 n 行:
cat 文件名 | tail -n 数量
cat log.log | tail -n 200 # 查看 log.log 后 200 行