最近,在分析log文件,经常会用到一些脚本,所以就看了一些关于脚本的知识。记录下来,是为了方便自己的使用。
一、grep(在文件中搜索查找的内容)
grep -[ a c i n v ] "搜索的内容" filename
-a: 以文本文件的方式搜索;
-c:计算找到符合行的次数;
-i :忽略大小写;
-n:输出的时候顺便输出行号;
-v: 查找不存在 搜索内容 的 行;
-w:搜索整个词语,而不是词中的部分字符串;
-A : 显示搜索字符串的之后的几行;
-B: 显示搜索字符串的 之前的几行;
-C : 显示搜索字符串的前后的几行;
1. 使用用正则表达式(这是个很有用的特点)
例如:搜 搜索全部以“lines”开始以“empty”结束的字串
grep “lines[之间任意字]empty” filename
正则表达式遵循的几个重复的操作
- ? 最多匹配一次
- * 匹配零次或者任意多次
- + 匹配一次以上
- {n} 匹配n次
- {n,} 最少匹配n次
- {,m} 最多匹配m次
- {n,m} 匹配n到m次
利 用[ ]搜索集合字符
[ ] 表示其中的某一个字符 ,例如[ade] 表示a或d或e
[ ] 内可以用范围表示,比如[a-z] 表示小写字母,[0-9] 表示0~9的数字, [A-Z] 则是大写字母们。[a-zA-Z0-9]表示所有数字与英文字符。
可以用^符号做[]内的前缀,表示除[]内的字符之外的字 符。 比如搜索oo前没有g的字符串所在的行. 使用 '[^g]oo' 作搜索字符串
行首与行尾字符 ^ $. ^ 表示行的开头,$表示行的结尾