Linux 文本处理工具正则表达式(1)

Linux文本处理工具

grep, egrep, fgrep:文本过滤工具(模式:pattern)工具
grep :基本正则表达式 -E,-F
egrep:扩展正则表达式 -G,-F
fgrep:不支持正则表达式。

正则表达式:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面意义,而是用于表示控制或通配的功能。
正则表达式分为两类:
	基本正则表达式:BRE
	扩展正则表达式:ERE
	元字符:\(hello[[:space:]]\+\)\+
正则表达式通过一定的规则来筛选出自己想要找到的文件或目录;

grep:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行。

1.基本用法:
grep [options] PATTERN [FILE…]
grep默认是 `grep --color=auto’ 的别名
被筛选出的字符串会自动变色。
在这里插入图片描述
在/etc/passwd文件中筛选出带张三的项;
在这里插入图片描述
在etc中筛选出带有g字母的项;

2.grep的基本选项
-i:ignorecase,忽略字符的大小写;
在这里插入图片描述
grep 会区分大小写,i选项可以忽略大小写;
-o:仅显示匹配到的字符串本身;
在这里插入图片描述
-v, --invert-match:显示不能被模式匹配到的行;
在这里插入图片描述
-E:支持使用扩展的正则表达式元字符;

-q, --quiet, --silent:静默模式,即不输出任何信息;
在这里插入图片描述
-q选项执行后不会显示结果,用$?命令查看是0则说名执行成功,不是0则执行失败。
-A #:after
在这里插入图片描述
再查出所有结果后再继续往下查出n行。
··-B #:before
在这里插入图片描述
与上-A相反,往上查n行
··-C #:context
在这里插入图片描述
前后各n行

3.基本正则表达式元字符
字符匹配:
. :匹配任意单个字符;包含空格
[]:匹配指定范围内的任意单个字符;
[^]:匹配指定范围外的任意单个字符;
[:alnum:] 字母和数字, [:alpha:] 字母,
[:cntrl:],[:digit:] 数字,[:graph:],
[:lower:] 小写字母,[:print:] 可打印字符,
[:punct:],[:space:] 空格,[:upper:] 大写字母,和[:xdigit:]
匹配次数:用在要指定次数的时候,限制其出现次数,默认是贪婪模式;
:匹配其前面的字符任意次;0,1,多次;
.
:匹配任意长度的任意字符
?:匹配其前面的字符0次或1次;即其前面的字符是可有可无的;
+:匹配其前面的字符1次或多次;即其面的字符要出现至少1次;
{m}:匹配其前面的字符m次;
{m,n}:匹配其前面的字符至少m次,至多n次;
{0,n}:至多n次
{m,}:至少m次
在基本正则表达式中,元字符 ?, +, {, |, (, 和 ) 丧失了它们的特殊意义;作为替代,使用加反斜杠的 (backslash) 版本 ?, +, {, |, (, 和 ) 。
位置锚定:
^ :行首锚定;用于模式的最左侧;
$ :行尾锚定;用于模式的最右侧;
^PATTERN$:用于PATTERN来匹配整行;
^ $:空白行;
^ [[:space:]]* $:空行或包含空白字符的行;
单词:非特殊字符组成的连续字符(字符串)都称为单词;
< 或 \b:词首锚定,用于单词模式的左侧;
> 或 \b:词尾锚定,用于单词模式的右侧;
<PATTERN>:匹配完整单词。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值