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

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

在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. js和jquery判断checkbox是否被选中

    js判断: if(document.getElementById("checkboxID").checked){ alert("checkbox is checked&q ...

  2. [学习笔记] 模拟退火 (Simulated Annealing)

    真没想到这东西真的在考场上用到了...顺便水篇blog以示诈尸好了(逃 模拟退火算法 模拟退火是一种随机化算法, 用于求函数的极值qwq 比如给出一个问题, 我们要求最优解的值, 但是可能的方案数量极 ...

  3. Linux x86_64内核中断初始化

    Linux x86_64内核中断初始化 [TOC] 中断分类 Linux系统中,中断分为: 硬中断:由外部设备或者执行异常产生的需要快速处理的中断.如缺页中断.定时器硬件中断. 根据内部产生还是外部产 ...

  4. 【R语言系列】R语言初识及安装

    一.R是什么 R语言是由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两个人共同发明. 其词法和语法分别源自Schema和S语言. R定义:一个能够自由幼小的用于统计计算和绘 ...

  5. C语言--总结报告

    1.当初你是如何做出选择计算机专业的决定的? 经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 当初填报志愿我是有很明确的专业方向的,就是IT类的 ...

  6. 大神都在看的RxSwift 的完全入坑手册

    大神都在看的RxSwift 的完全入坑手册 2015-09-24 18:25 CallMeWhy callmewhy 字号:T | T 我主要是通过项目里的 Rx.playground 进行学习和了解 ...

  7. SpringMVC之HandlerMapping的使用

    上篇博客在了解SpringMVC的工作流程时留了一些疑问,今天先学习下HandlerMapping,在HandlerMapping中可以通过HandlerExecutionChain getHandl ...

  8. JAVA_SE基础——64.StringBuffer类 ①

     字符串特点:字符串是常量:它们的值在创建之后不能更改 字符串的内容一旦发生了变化,那么马上会创建一个新的对象. 注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象. publ ...

  9. String s=new String("abc")产生了几个对象?[权威面试版]

    以下总结是我逛论坛 将零零碎碎的知识整理起来,方便自己记忆和阅读,顺便分享出来给大家学习. 若 String s=new String("abc"); 为第一句代码 则会产生两个对 ...

  10. kali使用

    1.kali安装后安装vmtools ①.vim /etc/apt/sources.list 添加中科大滚动版更新源 deb http://mirrors.ustc.edu.cn/kali kali- ...