本文介绍: 匹配任意单个字符,可以是一个汉字#此处的点代表字符rc0.drc1.drc2.drc3.drc4.drc5.drc6.drc.drc.local#点值表示点需要转义rc.drc.local#匹配[]中任意一个字符h.txto.txtu.txtz.txt[a-z] 小写字母[A-Z] 大写字母#显示非小写字母分组:( ) 将多个字符捆绑在一起,当作一个整体处理,如:(root)+
一,正则表达式
(一)正则表达式相关定义
1,正则表达式含义
REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。
2,正则表达式支持的语言
vim, less,grep,sed,awk, nginx,mysql 等
3,正则表达式分类
4,基础正则表达式 扩展正则表达式区别
grep sed默认使用基础正则表达式
grep -E、sed -r、egrep、awk扩展正则表达式
扩展正则表达式 加
(二)元字符(字符匹配)
1,常用元字符
2,元字符 (.)的介绍
3,元字符 [ ] 的介绍
(三)表示次数 表示一个qq 号码
1,常用表示次数的元字符
2,匹配规则
(四)位置锚定
(五)分组或其他
1,定义
2,例子
二, 扩展正则表达式(表示字符相差不大)
(一)表示次数
(二) 表示分组
(三) 例子
1,表示qq号
2, 表示邮箱
3,表示手机号
三,grep
(一)通式
(二)选项
(三)选项详细介绍
1,grep 支持 标准输入,标准输出,文件内容
2,-m 1 匹配一次就停止
3, -i 忽略大小写
4, -c 行数
5,-o 显示匹配内容
6,-A 匹配后三行 -B 匹配前三行 -C 匹配前后三行
7, -e 或
8, -E 启用扩展正则,grep 默认基本正则
9,-W 匹配单词
10, -r递归目录,但不处理软链接 -R递归目录,但处理软链接muku
(四)示例
1,提取 ip
2, 统计当前主机的连接状态
3, 统计当前连接主机数
四,sed
(一)sed 介绍
(二)基本用法
1, 常用选项
2,常用基本用法
2.1 sed 为空 看文件内容
2.2 支持重定向
2.3 支持管道符
2.4 n 选项是关闭自动打印 p语法选项打印
(三)sed 脚本格式
1,地址 相关语法
1.1 不给地址: 全文处理
1.2 单地址:
2p 第二行 $最后一行
1.3 地址范围
1,3 1到3行
1.4 3q 1到3行 (不能加 -n)
1.5 r 开头 f结尾
1.6 某一天几点几分 到 某一天几点几分 的日志
1.7 步进 打印奇数行,偶数行
2,命令相关语法
2.1 命令的选项
2.2 真删 sed -i
2.3 删之前备份 sed -i.bak
2.4 在第三行的后一行 追加 a
2.5 追加多行内容 n 换行
2.6 在第三行的前一行 追加 i
2.7 替换 c
2.8 把第三行写到 新文件 w
2.9把新文件插入 第二行 r
(四) 搜索替代
1,通式
2,示例
2.1 修改防火墙
2.2 & 变量 指前面找的内容
2.3 分组替换
2.4 提取ip
2.5 提取中间的数字
2.6 提文件权限
(五)sed 支持变量
(六) 不打开配置文件 改配置文件
(七)sed 高级用法
1,模式空间 保持空间
2,常见的高级命令
3,示例
3.1 打印偶数行 4种写法
3.2 小p 大P 区别
3.3 前后两行追加
3.4 倒序
五,awk
(一)awk 含义
(二)工作原理
(三)awk通式
1,program组成
2,Program格式
3,awk 常见选项:
(四) awk 执行原理
(五)awk 使用方法
1,输出原来内容
2,提取某一行 并输出
3, 指定分隔符 -F
4, BEGIN语句块 END语句块
5,重定向
6,awk 可以当计算机
7, 提取磁盘占用率
8, 改输出内容分隔符
9, 提取网卡的 ip 地址(awk sed)
10,提取普通用户 uid 号大于等于1000
11,统计当前主机的连接状态
12,去重
13,提出主机名,再放指定文件夹
14,统计/etc/fstab文件中每个文件系统类型出现的次数
15,统计/etc/fstab文件中 真单词的个数
16 , 提取一长串乱码中的数字
17,提取 文件权限
18,查出uid最大的用户的 uid 用户名 shell类型
19,打印 1-200 之间所有能被7整除 并且包含数字7 的整数
20,提取内存 使用率
21 ,看ssh 登录失败(看谁在暴力破解密码)
(六)awk 常见的内置变量
1,内置变量具体内容
2, 示例展示 内置变量
2,1 FS 自定义分隔符
2.2 RS 行分隔符 代表一行结束
2.3 NF 你一行有多少列 $NF 表示最后一列
2.4 NR 行号的序号
2.5 FNR 将两个文件合并 并显示行号
(七)自定义变量
1,自定义变量具体内容
2,用法
(八)模式
1,正则匹配
2,找到10:00 到11:00 之间的日志
3,关系表达式
非0 是真 0是假
3.1 非0 是真
3.2 n++
3.3 !0
3.4 i=!i
3.5 !(i=!i)
(九)条件判断
1, if 语句
1.1 支持if else
1.2 支持多分支
2, 支持 for while 循环语句
3,数组
3,1, awk 数组特性
3.2, awk 数组示例
(十) awk 模糊匹配
1,用~表示包含
2,!~ 表示不包含
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。