首页 > 代码库 > Centos常用命令之:正则表达式
Centos常用命令之:正则表达式
我们知道,正则表达式可以大大的提高我们的工作效率。
在了解正则表达式之前,我们需要了解,通配符的概念。
在linux中,我们在使用ls这个命令的时候经常会使用下面这种用法
[fuwh@localhost 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 [fuwh@localhost 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次或一次
|:表示或的意思
():表示群组的意思
()+:表示出现多次的群组
例:
[fuwh@localhost stu]$ cat test.txt fuwh第一海洋 fu的名字good we use google to search not gogle [fuwh@localhost stu]$ grep ‘^fu‘ test.txt fuwh第一海洋 fu的名字good [fuwh@localhost stu]$ grep ‘d$‘ test.txt fu的名字good [fuwh@localhost stu]$ grep go\{2\} test.txt [fuwh@localhost stu]$ grep ‘go\{2\}‘ test.txt fu的名字good we use google to search [fuwh@localhost stu]$
Centos常用命令之:正则表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。