正则介绍
grep :过滤出的关键词(等于查找)
格式:grep {option} '关键词' 文件名
Option:
-c 行数
-i 不区分大小写
-n 显示行号
-v 取反(关键词)
-An :n代表数字,-A表示查找并显示关键词下n行 (自己定义)
-Bn :n代表数字,-B表示查找并显示关键词上n行
-Cn ::n代表数字,-C表示查找并显示关键词上下N行
搜索常用格式:
‘[ X-X ]’指定字符或数字范围过滤 比如1-9,A-Z
‘[^x-x]’ 指定字符或数字范围取反
^ 代表开头 $ 代表结尾 * 代表匹配任意多个字符
egrep
常用:
egrep “XXX|XX” 文件 //可以同时搜索2个字符
Sed用法和介绍
Sed:替换文本输出到屏幕上
常见几种用法:
打印: sed -n ‘n ,n’p -n为打印指定行(括号里面可以写个范围1,$,也可以单写个数字代表行(2)) p代表print,打印
删除:sed ‘n-n’d d代表delete删除,括号内也可以写范围
替换:sed 'n-n范围s/要替换的字符/替换成什么字符/g' 文件 s代表替换 ,g代表全局替换,不加则替换一个
替换删除法: sed ‘s/需要替换的字符/需要替换的字符或者为空/g’ 文件 这种用法只是不指定行数范围
替换范围删除更改法: sed ‘s/[N-N]/需要替换的字符或者为空/g’ 文件 这种用法添加了范围性,括号内可以填写多个范围([0-9a-z])
Sed也有option选项
-e :可以写多个
-i : 直接修改文件
Awk
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
-F用法:
awk -F ‘;’‘{print $1}’ 文件
-F指定分隔符,以冒号为分割打印文件所有第一列 ,pirnt可以打印多列 $1,$2,$3,$4.....
支持单条和多条匹配再打印列:
awk -F ‘:’ ‘/root/{print $1}’ 文件 //单条匹配
awk -F ‘:’ ‘/root/{print $1}/mysql/{print $2}’ 文件 //多条匹配
条件语句
awk -F ‘:’‘$3>100{print $0}’ 文件 //第三列大于100的全部打印出来
>大于 <小于 =等于 != 不等于 ||或者 //如果单引号的关键词有字符最好用双引号括起来。
内置变量:指定print打印的分隔符(大概就是自己变一个符号,不要冒号而已)
OFS{“@”} 必须单引号也括起来
用法:awk -F ‘:’ ‘OFS{“@“} /root/{print $1}’ 文件
tot求和
awk -F ':' '{(tot=tot+$3)}; END{print tot}' passwd