shell编程之正则表达式部分

shell编程之正则表达式部分

Part 1:正则表达式简介

正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找以及替换操作。

1.1 正则表达式与通配符

shell编程之正则表达式部分_第1张图片

这里归纳一下:

正则表达式:

  • 主要用来匹配文件内容,如greo
  • 包含匹配

通配符:

  • 主要用来匹配文件名,如find
  • 完全匹配

1.2 基础正则表达式

shell编程之正则表达式部分_第2张图片

推荐看《慕课网》里的原始视频教程:shell编程基础,里面的Tony老师讲的很好。

Part 2:字符截取命令

2.1 cut [选项] 文件名

选项:

  • -f :1
  • -d 分割符:指定一行中的分割符,默认是使用Tab键产生的制表符

2.1.1 实例

shell编程之正则表达式部分_第3张图片

2.2 Extra:printf ‘输出类型输出格式’ 输出内容

printf 命令不算是字符提取命令中的一种,这里穿插讲他是为了后面的awk命令服务。

shell编程之正则表达式部分_第4张图片

shell编程之正则表达式部分_第5张图片

2.2.2 实例

shell编程之正则表达式部分_第6张图片

本来最后想尝试一下输出小数的,可是莫名报错,好吧。

2.3 awk’条件1{动作1}条件2{动作2}···’ 文件名

条件可以为空,表示所有文件内容都经过后面对应{动作}处理。

shell编程之正则表达式部分_第7张图片

2.3.1 开始条件:BEGIN

使用该条件后,会在最开始就优先处理BEGIN{动作},中的动作。

2.3.2 最后条件:END

与BEGIN对应,会在最后执行END{动作},中的动作。

2.3.4 确定分割符动作:FS

例子:

awk 'BEGIN{FS=:}'

2.3.5 实例演示

shell编程之正则表达式部分_第8张图片

2.4 sed [选项] ‘[动作]’ 文件名

sed是一种几乎包括所有UNIX平台,包括Linux的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。

2.4.1 选项

shell编程之正则表达式部分_第9张图片

2.4.2 动作

shell编程之正则表达式部分_第10张图片

这里附带一个字符替换动作的格式:

sed ‘s/旧字符/新字符/g’ 文件名

2.4.3 实例

shell编程之正则表达式部分_第11张图片

Part3:字符处理命令

3.1 排序命令:sort [选项] 文件名

shell编程之正则表达式部分_第12张图片

3.2 统计命令:wc [选项] 文件名

shell编程之正则表达式部分_第13张图片

你可能感兴趣的:(linux)