Centos常用命令之:正则表达式

Posted Ouka傅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos常用命令之:正则表达式相关的知识,希望对你有一定的参考价值。

我们知道,正则表达式可以大大的提高我们的工作效率。

在了解正则表达式之前,我们需要了解,通配符的概念。

在linux中,我们在使用ls这个命令的时候经常会使用下面这种用法

[[email protected] stu]$ ll lin1*
-rw-r--r--. 1 fuwh fuwh 2865 7月  26 10:45 lin1
-rw-r--r--. 1 root root 2865 7月  26 10:58 lin11
[[email protected] stu]$

可以注意到,我们这里使用了*来代替各种字符的意思。

但是这并不是正则表达式。

在linux中,有很多的命令,如果这些命令支持正则表达式,那我们就可以在命令里面使用正则表达式。比如:grep、vi等

但是,如果是不支持正则表达式的话,那就只能使用bash自带的通配符功能了。

通配符:

* :代表0个到无穷个任意字符

?:代表一个任意字符

[]:代表括号内的任意字符(一个,且一定有一个)

[ - ]:代表减号前后的字符之间的所有字符

[^]:^是反向选择的意思,表示一定有一个不是括号中的字符

 

了解完通配符之后,我们就可以来看看有那些正则表达式可以用了。

^word:表示以word开头

word$:表示以word结尾

.:代表一定有一个任意的字符

\:转义字符

*:表示前面的那个字符重复0到无穷次

[list]:表示括号内的任意一个

[n1-n2]:表示n1到n2之间的字符

[^list]:表示不是list里面的字符

\{n,m\}:表示前面的字符重复n到m次

\{n\}:表示前面的字符重复n次

\{n,\}:表示前面的字符重复n次以上

+:表示前面的字符重复一次或一次以上

?:表示前面的字符出现0次或一次

|:表示或的意思

():表示群组的意思

()+:表示出现多次的群组

 

例:

[[email protected] stu]$ cat test.txt
fuwh第一海洋

fu的名字good
we use google to search
not gogle

[[email protected] stu]$ grep  ‘^fu‘ test.txt
fuwh第一海洋
fu的名字good
[[email protected] stu]$ grep ‘d$‘ test.txt
fu的名字good
[[email protected] stu]$ grep go\{2\} test.txt
[[email protected] stu]$ grep ‘go\{2\}‘ test.txt
fu的名字good
we use google to search
[[email protected] stu]$

 

以上是关于Centos常用命令之:正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Linux下常用命令之sed学习总结

Linux下常用命令之sed学习总结

iOS开发之常用正则表达式

Shell之正则表达式之(sortuniqtrcutspliteval命令)

copy必备之常用正则表达式 By 其他博主

Java基础学习笔记十三 常用API之正则表达式DateDateFormatCalendar