0x00 基础日志分析命令 1. tail - 监控末尾日志的变化 $tail -n 10 error2019.log #显示最后10行日志内容 $tail -n +5 nginx2019.log #从第5行开始显示日志内容 $tail -f nginx.log #循环查看日志内容(循环读取日志文件) $tail -10f nginx.log #监控末尾10行日志变化 2. grep(Global Regular Expression Print,全局正则表达式) - 搜索与日志提取 grep…
Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反人类:所以perl,python,ruby等脚本语言相当热火,我倾向用python,但处理一些简单任务python写的还是比较麻烦,无法一行命令解决,直到我发现了它-Pyp! Pyp(Pyed piper)–一个python写的类似sed,awk的文本处理工具,简单优雅而强大~ 安装: ubuntu…
概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必要通过一些手段来高效地辅助你来快速的从日志中找到你要找的问题.本文通过一个从项目中衍生出来的例子从查找日志,筛选日志和统计日志3个方面层层递进来简述日志文件查看中一些有用的手段.(注:在linux环境下) 目录 0.查找关键日志grep 1.查找关键日志grep 2.精简日志内容 sed 3.对记录…
1.基本格式grep pattern [file...](1)grep 搜索字符串 [filename](2)grep 正则表达式 [filename]在文件中搜索所有 pattern 出现的位置, pattern 既可以是要搜索的字符串,也可以是一个正则表达式.注意:在输入要搜索的字符串时最好使用双引号/而在模式匹配使用正则表达式时,注意使用单引号 2.grep的选项    -c 只输出匹配行的计数    -i 不区分大小写(用于单字符)    -n 显示匹配的行号    -v 不显示不包含匹…
sed 流编辑器 对文本中的行,逐行处理 非交互式的编辑器 是一个编辑器 1.工作流程 1)将文件的第一行读入到自己的缓存空间(模式空间--pattern space),删除掉换行符 2)匹配,看一下改行是不是要编辑的行,如果是-->3:不是-->再读入下一行到模式空间,删除换行符 3)执行编辑命令 4)加上换行符输出到屏幕 5)判断是否为文件最后一行,是-->sed退出:不是,再重复1~4步骤 注意: 1)默认情况下,sed缓存空间内的行都会输出到屏幕,除非使用-n拟制未编辑过得行的输…
awk 1.是什么 是一个编程语言.支持变量.数组.函数.流程控制(if...else/for/while) 单行程序语言. 2.工作流程 读取file.标准输入.管道给的数据,从第一行开始读取,逐行读取,看是否匹配我们想要的数据(pattern模式匹配),对数据进行处理,直到读完所有的行,退出awk程序(执行的每一条awk的命令) 3.语法 awk [-F field seperator] 'pattern{action}' [file] -F: 指定元数据列(字段)分隔符 ‘pattern’…
简介 awk 是逐行扫描文件(从第1行到最后一行),寻找含有目标文本的行: 如果匹配成功,则会在该行上执行用户想要的操作. 反之,则不对行做任何处理. awk 命令的基本格式为: awk [选项] '脚本命令' 文件名 awk 选项 -F';' 指定以 ; 作为输入行的分隔符,awk 命令默认分隔符为空格或制表符. -f file 从脚本文件中读取 awk 脚本指令,以取代直接在命令行中输入指令. -v var=val 在执行处理过程之前,设置一个变量 var,并给其设备初始值为 val. 基本…
使用正则表达式搜索文本,并把匹配的行打印出来.使用权限是所有用户. 基本使用 grep [option] pattern filename: pattern如果是表达式或者超过两个单词的, 需要用引号引用. 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以. grep test *file 在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的行,并打印出该字符串的行 常用选项 -E :开启扩展(Extend)的正则表达式. -i :忽略大小写(ignore ca…
1.grep -r "History folder does't exist:" * :中间是要搜索的文本,* 表示全部显示出来…
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍. grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效率要比其他的高很多: sed:Stream EDitor,流编辑器,默认只处理模式空间,不处理原数据,如果你处理的数据是针对行进行处理的,可以使用sed: awk:报告生成器,格式化以后显示.如果对处…