一、正则表达式
正则表达式(Regular Expression,简称 regex 或 regexp)是一种强大的文本处理工具,用于搜索、替换、检索或校验符合特定模式的文本。正则表达式由一系列字符组成,这些字符可以是普通字符(如字母、数字等)或特殊字符(称为元字符),它们定义了搜索模式。
1、基本正则与扩展正则列表
2、正则表达式匹配练习
二、 sed表达式
sed
(stream editor)是一个强大的文本处理工具,用于对文本数据进行过滤和转换。它在 Unix 和类 Unix 系统中广泛使用,并且是 Linux 和其他 Unix-like 系统的标准工具之一。
1、sed基本用法
2、sed命令的常用选项:
-n(屏蔽默认输出,默认sed会输出读取文档的全部内容)
-r(支持扩展正则)
-i(修改源文件)
- 条件可以是行号或者/正则/,没有条件时默认为所有行都执行指令
- 指令可以是p输出、d删除、s替换
sed匹配练习:
sed工具的p、d、s操作指令案例集合
sed综合脚本应用
1)编写脚本,搭建httpd服务,用82号端口开启服务:
2)编写脚本,找到使用bash作登录Shell的本地账户名,列出这些账户的shadow密码记录,按每行“账户名 --> 密码记录”保存到文件中:
二、 AWK表达式
AWK
是一种编程语言,专为文本处理和数据分析而设计。它是一个强大的工具,用于在 Unix 和类 Unix 系统中进行模式扫描和处理语言。AWK 的名称来源于其创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。
1、awk基本用法
2、awk命令的常用选项:
1)基本操作方法
格式1:awk [选项] '[条件]{指令}' 文件
格式2:前置指令 | awk [选项] '[条件]{指令}'
其中,print 是最常用的编辑指令;若有多条编辑指令,可用分号分隔。
Awk过滤数据时支持仅打印某一列,如第2列、第5列等。
处理文本时,默认将空格、制表符作为分隔符。
条件可以用/ /的方式,与sed类似
awk常用内置变量:
2、awk处理条件:
awk会逐行处理文本,支持在处理第一行之前做一些准备工作,以及在处理完最后一行之后做一些总结性质的工作。在命令格式上分别体现如下:
1)awk [选项] '[条件]{指令}' 文件
2)awk [选项] 'BEGIN{指令} {指令} END{指令}' 文件
-
BEGIN{ } 行前处理,读取文件内容前执行,指令执行1次
-
{ } 逐行处理,读取文件过程中执行,指令执行n次
-
END{ } 行后处理,读取文件结束后执行,指令执行1次
sed综合脚本应用
编写shell脚本,利用awk截取系统各种信息,如CPU的15分钟平均负载、网卡接收流量信息、内存与硬盘剩余空间大小、账户数量等,并每隔3秒循环显示一次
标签:选项,Shell,正则表达式,Unix,sed,awk,指令 From: https://blog.csdn.net/xialu_gogogo/article/details/143623191