文本三剑客之grep

目录

grep

正则表达式

代表字符

位置锚定

示例:查找网卡位置

分组


grep

所在位置:shell: /bin/bash

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

模式:由正则表达式的元字符及文本字符所编写出的过滤条件

正则表达式:匹配的是 文章中的 字符

通配符: 匹配的是文件名? 任意单个字符

元字符:不表示本来的含义,在正则表达式中有特殊含义的字符

正则表达式想用好

自己写容易,读取别人的正则

1.记忆元字符的含义

2.多用

正则表达式

代表字符

. 单个任意字符

[ ] 单个字符

文本三剑客之grep_第1张图片

[0-9,a-z,A-Z]次数

单个字符出现的次数

例如:echo “用户名” | grep [0-9,a-z,A-Z]次数

[^] 匹配指定范围外的任意单个宁符,示例:[ ^zhou] [ ^a.z] [ ^a.z]

[:alnum:] 字母和数字

[:alpha:] 代表任何英文大小写字符,亦即 A-Z,a+z

[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]

[:upper:] 大写字母

[:blank:]空白字符《空格和制表符)

[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比 [:blank:]包含的范围广

*代表前面的字符出现 0到正无穷次

.* 代表任意长度字符

\? 0或一次 可有可无

+至少一次 一次到正无穷次

位置锚定

^#行首错定,用于模式的最左侧

$ #行尾错定,用于模式的最右侧

^PATTERNS #用于模式匹配整行(单独一行 只有root)

^$ #空行

^ [[:space:]]*$ # 空白行 tab换行 回车

示例:查找网卡位置

另外两种简便式写法

文本三剑客之grep_第2张图片

分组

分组:( )将多个字符捆绑在一起,当作一个整体处理,如:(root)+

后向引用:分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为:\1,\2,3,...分组

\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符

你可能感兴趣的:(mysql,服务器,数据库)