. :匹配任意单个字符
[] :匹配指定范围内的任意单个字符;
[^]:匹配制定范围外任意单个字符 [:digit:] lower upper alpha alnum space
匹配次数:用在要指定其出现的次数的字符后面,用于限制其前面字符出现的次数
*:匹配其在前面的字符任意次:0,1.多次
.*:匹配任意长度的任意字符
\?:匹配其前面字符0次或一次,及前面字符是可有可无
\+:匹配其前面字符一次或是多次,至少一次,
\{m\}匹配前面字符m次
\{m.n\}匹配其前面的字符至少m次,之多n次
\{0,n\}:之多n次
\{m,\} :至少m次
位置锚定:
^:行首锚定:用于模式的最左侧
$:行尾锚定:用于模式的最右侧
^PATTERN:用于PATTERN
^$:空白行
^[[:space:]]:空行或包含空白字符的行
单词:非特殊字符组成的连续字符(字符串)都成为单词
\
\>或是\b:词尾锚定,用于单词模式的右侧
\:匹配完整单词
以上所述是小编给大家介绍的Linux中基本正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
linux^u字符是行首的意思。该字符的意思是行首,是正则中的以什么字符开头的意思,可以解释为与.ht为行首的文件,该字符开头的行首要与.ht的相匹配,该字符属于linux字符集的其中一种。以下内容首发自公众号“小汪Waud”。
本期介绍在Linux环境下的正则表达式及grep命令。
正则表达式(Regular Expression)是对字符串 *** 作的一种逻辑公式,就是用事先定义好的一些特定字符及这些字符的特定组合,组成一个“规则字符串”,这个字符串用来表达对字符串的一种过滤逻辑。
正则表达式基本上是一种表示法,只要程序支持这种表示法,该程序就可以用来作为正则表达式的字符串处理之用。如vi、grep、awk、sed等程序支持正则表达式,所以可以使用正则表达式的特殊字符来进行字符串的处理。但例如cp、ls等命令并不支持正则表达式,所以只能用自己的通配符。
正则表达式依照 不同的严谨度 分为:基础正则表达式和扩展正则表达式。
注意!
grep是一种强大的文本搜索工具,可以使用 正则表达式匹配模式 查找文件里符合条件的字符串,并打印出来。
有点类似于WORD里的查找功能。
grep支持三种正则表达式语法:Basic、Extended和perl兼容。 如果没有提供正则表达式类型,grep将搜索模式解释为基本的正则表达式。要将模式解释为扩展正则表达式,请使用-E。
查看grep的帮助文档,如下
基本用法
grep [OPTION]... PATTERN [FILE]...
高级用法
grep [-A] [-B] [--color=auto] "查找字符" [模式] [文件]
常用参数
首先通过cat命令查看samples.txt的内容,如下图
如果想检索以K为行首的行,通过以下命令即可得到
如果想检索以Z为行尾的行,通过以下命令即可得到
如果想检索三个字符其中前面为K,后面为D中间字符,为任意字符,通过以下命令即可得到
参考资料
https://www.runoob.com/linux/linux-comm-grep.html
https://www.bilibili.com/video/BV1Yy4y117SX?p=12
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)