文章目录
1. 正则表达式
正则表达式REGEXP: Regual Expression:
由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面意义,而是用于表示控制或通配的功能;分两类:
基本正则表达式: BRE
扩展正则表达式: ERE正则表达式的意义
处理大量的字符串
处理文本
通过特殊符号的辅助,可以让linux管理员快速过滤、替换、处理所需要的字符串、文本.
1.1 基本正则表达式: BRE
匹配字符 匹配次数 位置锚定
1.2 扩展正则表达式: ERE
扩展正则表达式必须用grep -E 才能生效
2. grep
2.1 简介
全拼: Global search REgular expression and Print out the line.
作用: 文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,并打印匹配到的行
模式: 由正则表达式的元字符及文本字符所编写出的过滤条件;
语法:
grep [options] [pattern] file
命令 参数 匹配模式 文件
[options]:
-i: 忽略字符的大小写;
-n: 显示行号
-o: 仅显示匹配到的字符串本身;
-v: 显示不能被模式匹配到的行;
-E: 支持使用扩展的正则表达式元字符;
-q: 静默模式,即不输出任何信息;
匹配模式:可以是普通字符,也可以是正则表达式
grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大。
2.2 案例
3. sed
3.1 简介
sed是Stream Editor (字符流编辑器)的缩写,简称流编辑器。
sed是操作、过滤和转换文本内容的强大工具。
常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能
中最常用的两大功能是过滤(过滤指定字符串)、 取行(取出指定行)。语法
sed [options] [sed内置命令字符] file
- [options]参数:
- sed的内置命令字符,用于对文件进行不同的操作功能,如对文件增删改查【a/d/i/p/s】
- sed匹配范围
3.2 案例
3.3 sed练习题
4. awk
4.1 简介
awk是一个强大的linux命令, 有强大的文本格式化的能力,好比将一些文本数据格式化成专业的excel表的样式。
语法:
- awk可选参数
-
awk内置变量【一般与-v配合使用】
-
pattern模式
默认处理文件所有行,可以限制文件处理的行,包括正则表达式、指定行、[NR==5]、BEGIN模式、END模式。
awk ‘/正则表达式/动作’ 文件
awk -F ‘#’ ‘/^dog/{print $0}’ test.txt
-
动作
一般是输出操作,print printf
4.2 案例
4.3 awk练习题
awk重点是分割符的选择,可以选择多个分割符,比如[ :]表示以空格或者:为分割符!