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

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

在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. hibernate框架学习笔记10:HQL查询详解

    HQL语句中不可以出现与表有关的内容,而是对象的属性 实体类(注意配置文件): package domain; import java.util.HashSet; import java.util.S ...

  2. Beta敏捷冲刺每日报告——Day3

    1.情况简述 Beta阶段Scrum Meeting 敏捷开发起止时间 2017.11.4 00:00 -- 2017.11.5 00:00 讨论时间地点 2017.11.4 晚9:30,电话会议会议 ...

  3. 第九条:覆盖equals方法时总要覆盖hashCode方法

    Object类的hashCode方法: public native int hashCode();   是一个本地方法. 其中这个方法的主要注释如下: Whenever it is invoked o ...

  4. 关于Android 7.0(API24)相机的问题汇总

    在开发Android项目的时候,我们会用到相机,有些时候只是开发一个普通的扫码,仅仅赋予一下 权限 就好了,但是有些时候是需要拍照和从相册中获取照片的.我们在Android 5.0以及5.0之前调用相 ...

  5. jstree的简单用法

    一般我们用jstree主要实现树的形成,并且夹杂的邮件增删重命名刷新的功能 下面是我在项目中的运用,采用的是异步加载 $('#sensor_ul').data('jstree', false).emp ...

  6. nyoj 第几是谁

    第几是谁? 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在有"abcdefghijkl"12个字符,将其按字典序排列,如果给出任意一种排列, ...

  7. jiVMware的网络配置Linux

    需求需要配置VMware的虚拟Linux的ip以达到本地可以访问,而且虚拟机Linux可以上网: 第一方案:选择桥接模式 思路:因为桥接可以,使得虚拟机Linux把本地当做一座桥一样连接到路由器,然后 ...

  8. Aache的虚拟主机配置虚拟目录

    3. 打开 httpd.conf 文件, 添加如下代码: # Virtual hosts Include conf/extra/httpd-vhosts.conf 如果已存在,将Include前面的# ...

  9. jupyter notebook下python2和python3共存(Ubuntu)

    提示NOTICE 时间:2018/04/06 主题:Ubuntu 下CAFFE框架 主角:Jupyter Notebook 简介: Jupyter Notebook(此前被称为 IPython not ...

  10. LeetCode & Q14-Longest Common Prefix-Easy

    String Description: Write a function to find the longest common prefix string amongst an array of st ...