linux的正则表达式

匹配文件内容。根据特定的字符和表达式。

linux下 最好的就是grep 还可以:sed awk

      nginx mysql 配置文件也可以支持正则表达式

通配符和正则表达式的区别:

通配符匹配的是文件名

*:匹配任意一个或者多个字符

?:匹配任意一个字符

【】:可以是范围匹配,也可以是单个字符】0-9是单个,123456也是单个

正则表达式:在grep里用””或者‘’起来就是正则表达式

元字符:

点(.):匹配任意单个字符,可以是一个汉字

转义符(\):转变原来的意思

():分组,想要表达括号\(\)

[ ]:匹配任意范围内的单个字符

^:取反  例子:[^a.z]

[[:blank:]] 匹配空格或者制表符(tab键)

[ ] 只能匹配空格键

[:space:] 空格tab键 换行符 回车 各种类型的空白

[:cntrl:]:退格 删除

正则表达式:

对文本内容进行过滤,查找,匹配完整的大小写

元字符:

.  任意单个字符

转义符 \

()分组\\)

[] 匹配范围值内的任意单个字符

基本正则表达式:

表示次数:

*:匹配前面的字符任意次,包括0次尽可能长

.*:匹配前面的字符任意次,但是不包括0次,也就是匹配所有

\?: 匹配前面的字符出现0次,或者1次,有且只有一次

\+ 表示匹配前面的出现的字符,至少出现一次,也就是>=1

\{n\} 匹配前面出现的字符等于几次 (n是数字)

\{m,n\}:匹配前面出现的字符最少m次,最多n次

\{,n\} 匹配前面的字符最多n次,没有也算

\{n,\}匹配前面的字符最少n次,只要连续出现n次后面的都算

通配符:

匹配的是文件名,而且不能精确的匹配大小写。

位置锚定:

^ 行首锚定,以什么为开头

$ 行尾锚定,以什么为结尾

^root$ 匹配行模式 单独的一行只有root

^$ 空白行 也是空白行

\<或者\b 词首锚定 用于匹配单词模式的左侧

从左往右全部都算,所有一起都包含,所有算匹配到

\>或者\b 词尾锚定 用于匹配单词模式的右侧

只匹配右侧的单词,左侧的单词不匹配

\broot\b 匹配整个单词

\<root\>

分组以及逻辑或

()     \|

grep -E 或者egrep扩展正则表达式

和基础正则表达式一样,就是没有\

sed  编辑器:

文本三节课:grep过滤文件内容 主要是查

sed是行编辑器 按行来的

sed是按行来处理的,是一种流编辑器

每一次处理内容,只有确认才会生效,不确认的,只是把模式空间的临时数据展示给用户看,然后删除

按照文本的行,一行一行向下处理,直到文件的最后一行

默认情况下:sed都是在模式空间执行,因此源文件不会发生变化

sed 的操作格式:

sed -e “操作” 文件1 文件2

sed -e “操作1;操作2”文件

-e 指定的命令来处理输入的文本文件,只有一个操作,-e 可以省略,多个指令才会用-e

-f 表示用特定的脚本文件来处理输入的文件

-i 即时生效,就是确认

-n 仅显示script 处理后的结果

sed -i 立刻生效  慎用

sed的操作符:

p:打印

d:删除

= 只打印行号

打印

sed -e ‘p’ test.txt

sed自己还有一个默认输出,再加上p打印,就有两行

-n就禁止了默认输出

sed -n’p’ test.txt

输出指定行的行内容,其他的都没有

sed-n’=’test.txt

=号,只显示行号

既显示行号,又显示内容

文本模式:

文本内容----sed的过滤

把要过滤的内容用//扩起来

以……为开头的加个^

从第四行开始,到有bash 的所有

sed 使用扩展正则表达式:

sed -r 使用扩展正则   

以什么开头^…  以什么结尾…$

sed 的格式 sed -rn  ’/过滤的条件/p’

sed 的格式 sed -rn  ’/(什么东西){出现的次数}/p’

i 免交互 d 就是删除的意思

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值