linux学习之正则表达式

一、grep

  1. 关键词显示颜色,且加上行号

    dmesg|grep -n --color=auto ‘eth‘

  2. 将关键词所在行的前2行和后3行,也一起显示

    dmesg|grep -n -A3 -B2 --color=auto ‘eth‘

  3. 自动将关键词加上颜色

    vim ~/.bashrc

    alias grep=‘grep --color=auto‘

    source ~/.bashrc

  4. 在某个档案中搜索特定字符串

    gerp -n ‘the‘ regular_express.txt

  5. 反向选择,搜索不含特定字符串的行

    grep -vn ‘the‘ regular_express.txt

  6. 不区分大小写搜索特定字符串
  7. grep -

in ‘the‘ regular_express.txt

7. 查找test或taste

grep -n ‘t[ea]st‘ regular_express.txt

8. 不包含某字符

grep -n ‘[^g]oo‘ regular_express.txt

9. 搜索数字所在行

grep -n ‘[0-9]‘ regular_express.txt

grep -n ‘[[:digit:]]‘ regular_express.txt

10. ^在[]内代表非,在[]外代表行首

gerp -n ‘^the‘ regular_express.txt(搜索行首是the的行)

grep -n ‘^[[:lower:]]‘ regular_express.txt(搜索行首是小写字母的行)

11.行尾以小数点.结尾的

grep -n ‘\.$‘ regular_express.txt

12.不要文档中空白行和开头带#的行

grep -v ‘^$‘ /etc/syslog.conf | grep -v ‘^#‘

13.一定有一个任意字符:.(小数点)

grep -n ‘g..d‘ regular_express.txt

14.重复0个或多个前面的字符:*(星号)

grep -n ‘ooo*‘ regular_express.txt(至少存在2个oo)

15.找出g开头和g结尾的字符串,当中的字符可有可无

grep -n ‘g.*g‘ regular_express.txt

时间: 2024-08-30 16:52:28

linux学习之正则表达式的相关文章

Linux学习之正则表达式&grep&egrep

我们经常需要在文档中搜索符合自己要求的内容,这些部分可能分散在文档的各个位置,各个角落.可以利用关键字例如/keyword或者?keyword一个一个的搜索,还有我可能不止想搜索关键字,而是指定一个范围,怎样操作?而且怎样把这些搜索到的内容集中地显示出来?使用正则表达式搜索字串的grep命令和egrep命令就可以满足我们的这个要求. 正则表达式(Regular Expression)是一种字符书写的模式,以行为单位进行字符的处理,透过一些特殊字符的辅助,利用这种模式可以轻易地达到对字符的搜索.删

Linux 学习笔记——正则表达式

&& 并且 成功-执行 不成功-不执行 || 或者 成功-不执行 不成功-执行 :      (不)成功-执行 grep --color 'root' /etc/passwd 高亮 echo "alias cg='grep --clort'" >> ~/.bashrc -n 显示行数 -c 计数几行 -v 不包含keyword -A 2 多显示下两行 -B 2 多显示上两行 -C 2 多显示上下两行 -r 'root' /etc/* 目录下搜索关键字,含文件

Linux学习:正则表达式习题

1.    显示/etc/passwd文件中以bash结尾的行 123 [[email protected] ~]# grep -n '\(bash\)$' /etc/passwd1:root:x:0:0:root:/root:/bin/bash38:Allen:x:500:500:Allen.Huang:/home/Allen:/bin/bash

linux学习之正则表达式sed

删除第2行 nl /etc/passwd|sed '2d' 删除第3行到最后一行 nl /etc/passwd|sed '3,$d' 在第2行后加上字符串drink tea nl /etc/passwd|sed '2a drink tea' 在第2行前加上字符串drink tea nl /etc/passwd|sed '2i drink tea' 在第2行后加入两行内容drink tea? drink beer? nl /etc/passwd|sed '2a drink tea?\回车 drin

Linux学习-shell利用正则表达式验证邮箱合法性

引文:在今天这个时代,Email已经成为一种重要的通信方式.给导师发邮件,学术研究之间的交流,etc.常常用到Email,然而Email的验证却有点小难度,下面给出一个在Linux下使用shell脚本编写的一个实例. linux中将正则表达式和sed.gawk结合起来,功能非常强大.我说的是真的,没骗你的,好好学吧. 邮箱验证 Email地址的基本格式为: username@hostname 1.username部分模式匹配 username的值可以用字符数子字符以及以下特殊字符: 点号 单破折

Linux学习之grep及正则表达式

1.grep:根据模式搜索文本,并将符合模式的文本行打印出来 使用基本正则表达式定义的模式来过滤文本的命令 grep 选项 模式(正则表达式) 参数 模式:由文本字符和正则表达式的元字符组合而成的匹配条件 -E:扩展正则表达式 -i:不区分大小写 -w:匹配整个单词 -x:匹配整行 -v:显示不匹配的行 --colour/--color:高亮显示匹配字符串 -A:打印匹配本身以及后面的几行 -B:打印匹配本身以及前面的几行 -C:打印匹配本机以后前后的几行 -o:只显示匹配到的字符串 -c:显示

linux学习---正则表达式与grep

正则表达式(Regular Expression(RE)) 是透过一些特殊字符的排列, 用以"搜寻/取代/删除"一列或多列文字字符串, 简单的说, 正则表达式就是用在字符串的处理上面的一项"表达式". 正则表达式并不是一个工具程序, 而是一个字符串处理的标准依据, 如果想要用用正则表达式处理字符串, 就要使用支持正则表达式的工具程序, 这样的程序有很多, 如vi, awk, grep, sed... grep 基本规则: grep [-acinv] [--color

linux学习之路之文本的查找---find命令的使用

文本的查找可以使用两种方式来实现,即使用locate命令来查找和find命令来查找 那么这两种方式有什么区别呢? locate:是一种非实时查找,所谓非实时查找就是查找的不够实际,不够精确.因为locate查找是在 系统文件数据库中进行的,而数据库默认是一天更新一次,也就是说你查找的文件再数据库 更新之前查找的话,有可能找不到文件,因为那时数据库还没有去读取硬盘上的文件,所以 有些文件没有写入到数据库中. 可以收到更新数据库,使用命令updatedb 因为不上在硬盘上读取,因此速度快 locat

linux学习之路之sed命令使用

本章主要介绍sed的命令使用 sed(Stream Editor)是一种流编辑器,或者叫做行编辑器,以行为单位进行编辑处理,而后续会介绍的vi编辑器是一种全屏编辑器. sed的工作原理: 逐行读取文件中的每一行,并将其放在内存空间中,在对内存空间中的数据进行处理,将处理后的结果打印到屏幕上.而这种内存空间也叫做模式空间. 所谓模式空间:就是将放在内存空间的数据根据模式来匹配,匹配成功的数据进行相应的编辑处理,将处理后的数据打印到屏幕上去. 说明:sed命令默认将文件中所有的行打印到屏幕上去. s