1.正则表达式 regular expression
一个正则表达式通常被称为一个模式(pattern),为来描述或者匹配一系列符合某个句法规则的字符串。
2.基本语法
选择:
| “boy|girl”可以匹配boy或girl
数量限定:
范围和优先级:
( ) 用来定义定义模式字符串的范围和优先级。
如gr(a|e)y 等级与gray|grey
(grand)?father 匹配father和grandfather
部分语法:
将系一个字符标记为一个特殊字符或一个原义字符。如“n”匹配“n”,“\n”匹配换行符,“\”匹配,(匹配(
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
{n} n是一个非负整数,匹配确定的n次
{n,} n是一个非负整数,至少匹配n次。{1,}等价于+,{0,}等价于*
{n,m} n,m均为非负整数,n<m,最少匹配n次,最多匹配m次
[^xyz] 排除型字符集合。匹配未列出的任意字符。
[a-z] 字符范围,匹配制定范围内的任意字符
[^a-z] 排除型字符范围。匹配任何不在制定范围内的任意字符
3.优先级
转义符、括号中括号、限定符、定位点和序列(^,$,\任何元字符)、选择
4.grep模式匹配命令
grep命令用于打印输出文本中匹配的模式串,使用正则表达式作为匹配条件。
grep 参数 模式 file
-b 将二进制文件作为文本来进行匹配
-c 统计与模式匹配的数目
-i 忽略大小写
-n 显示匹配文本所在行的行号
-v 反选,输出不匹配行的内容
-r 递归匹配查找
-A n after,除列出匹配行外,还列出后面的n行
-B n before,除列出匹配行外,还列出前面的n行
--color=auto 将输出的匹配项设置为自动颜色显示
grep支持三种正则表达式引擎
-E ERE,扩展正则表达式
-G BRE,基本正则表达式
-P PCRE ,perl正则表达式
5.使用正则表达式:
基本正则表达式BRE
...位置:查找/etc/group文件中以“shiyanlou”开头的行
grep ‘shiyanlou’/etc/group
grep ‘^shiyanlou‘ /etc/group
...数量:
...选择:
完整的特殊符号及说明:
6.使用扩展正则表达式ERE
grep -E 或者用egrep
...数量:
...选择:
其中.有特殊含义,需要转义
7.sed流编辑器
sed工具用于过滤和转换文本的流编辑器
sed 参数 执行命令 file
-n 安静模式,只打印受影响的行,默认打印输入数据的全部内容。
-e 用于脚本中添加多个执行命令一次执行,在命令行中执行多个命令通常不需要加盖参数
-f filename 执行指定filename文件中的命令
-r 使用扩展正则表达式,默认为标准正则表达式
-i 将直接修改输入文件内容,而不是打印到标准输出设备
sed编辑器的执行命令--略
8.awk文本处理工具--略
原文:https://www.cnblogs.com/xflyer/p/10422174.html