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

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

在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常用命令之:正则表达式的更多相关文章

  1. centos常用命令

    应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name"   grep " ...

  2. CentOS 常用命令大全

    下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...

  3. CentOS常用命令大全

    一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep "model name" /pro ...

  4. CentOS常用命令备忘

    1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...

  5. 第3章 CentOS常用命令

    一.CentOS常用命令 1.1 文件和目录 # cd /home                        进入 '/home' 目录 # cd ..                       ...

  6. CentOS 常用命令及快捷键整理

    常用命令: 文件和目录: # cd /home                        进入 '/home' 目录 # cd ..                                ...

  7. CentOS常用命令、快照、克隆大揭秘

    不多说,直接上干货! cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是,   abc   def   ghi cat a.txt |grep –v gh ...

  8. Centos 常用命令[持续积累中...]

    CentOS常用到的查看系统命令 uname -a cat /etc/issue /sbin/ifconfig # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操 ...

  9. CentOS 常用命令大全(2)

    系统 # uname -a               # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue   # 查看操作系统版本 # cat /proc/cpuinf ...

随机推荐

  1. mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出

    1.创建过程 1.1 简单创建 -- 创建员工表 DROP TABLE IF EXISTS employee; CREATE TABLE employee( id int auto_increment ...

  2. C语言函数嵌套调用作业总结

    成绩管理系统作业小结 devc中出现"ID Return"问题,我帮很多同学看完后发现,大部分还是自身程序问题,如全局变量大小写错误.没有添加c文件进工程等等.所以对于" ...

  3. hibernate框架学习错误集锦-org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL)

    最近学习ssh框架,总是出现这问题,后查证是没有开启事务. 如果采用注解方式,直接在业务层加@Transactional 并引入import org.springframework.transacti ...

  4. EasyUI内容页Tabs。

    html: <div data-options="region:'center'"> <div id="tabs" class="e ...

  5. Python爬虫基本原理

    爬虫基本原理 1. 什么是爬虫 请求网站并提取数据的自动化程序. 2. 爬虫基本流程 发起请求 通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待 ...

  6. c# aynsc 和 await

      static void Main(string[] args) { Print(); Console.WriteLine("这是主线程"); } public static a ...

  7. HTTP请求到爬虫代码的终南捷径

    前阵子在做爬虫的时候学会了各种抓包,看到http请求的时候硬拼代码实在有点累. 后来发现Postman工具是直接可以把Postman请求直接生成对应的代码,这样一下来就美滋滋了. 那么最后的问题就成了 ...

  8. HTTP协议扫盲(八 )响应报文之 Transfer-Encoding=chunked方式

    一.什么是chunked编码? 分块传输编码(Chunked transfer encoding)是只在HTTP协议1.1版本(HTTP/1.1)中提供的一种数据传送机制.以往HTTP的应答中数据是整 ...

  9. 新概念英语(1-23)Which glasses?

    Which glasses does the man want? A:Give me some glasses please, Jane? B:Which glasses? These glasses ...

  10. RocketMQ(五):namesrv初探

    匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务. Broker-Master:broker 消息主机服务器. ...