Linux 学习笔记(十)——正则表达式

正则表达式(Regular Expression)是用来匹配一系列某个句法的一种规则。常用来替换、检索符合某个模式的文本。

基本语法

限定符

  • +表示前面的字符必须出现1次货多次
  • ? 表示前面的字符出现0次或1次
  • *表示前面的字符可以出现0到多次

范围和优先级

() 可以用来定义模式字符串的范围和优先级
j(o|a)hnny .,这里的括号用于表示竖直分隔符|用于选择o或者a。而不是jo或者ahnny。

字符描述
^
$
[xyz]字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。
[^xyz]排除型(negate)字符集合。匹配未列出的任意字符。例如,“[ ^abc]”可以匹配“plain”中的“plin”。
[a-z]字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[^a-z]排除型的字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。

grep

grep命令用于打印输出文本中匹配的模式串

在这里插入图片描述

在这里插入图片描述

【命令解释】

-c  统计匹配模式的数目
-i  忽略大小写
-n  显示匹配文本所在行的行号
-v 反选 ,输出不匹配行的内容 

在这里插入图片描述

【命令解释】

查找/etc/group 文件中一"shiyanlou"为开头的行

在这里插入图片描述

【命令解释】


grep 'z.*o'  # .表示匹配一个任意字符,*表示任意0到多次。将匹配以'z'开头以'o'结尾的所有字符串
grep 'z.o'   # 将匹配以'z'开头以'o'结尾,中间包含一个任意字符的字符串
echo 'zero\nzo\nzoo'  #将匹配以'z'开头,以任意多个'o'结尾的字符串

sed编辑器

命令说明
s行内替换
c整行替换
a插入到指定行的后面
i插入到指定行的前面
p打印指定行,通常与-n参数配合使用
d删除指定行

复制/etc/passwd到当前路径下
在这里插入图片描述

在这里插入图片描述

【命令解释】

-n 	 #  安静模式,只打印受影响的行,'2,5p' 指定第二行和第五行
nl passwd | sed -n '1~2p'  # 打印奇数行

在这里插入图片描述

【命令解释】


删除第30行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值