linux下egrep文件内容搜索工具及扩展正则表达式详解

egrep命令: 根据模式(文本字符和扩展正则表达式的元字符组合而成之匹配条件)搜索文本,

并将符合模式的文本行显示出来。

格式:egrep [选项] 匹配条件 文本名称

egrep 等于 grep -E

选项:  -i:  忽略大小写

-v: 显示没有被模式匹配到的行

-o:只显示被模式匹配到的字符串

--color: 搜索出来文件高亮度显示

-A: 匹配指定行的下几行

-B: 匹配指定行的上几行

-C: 匹配指定行的上下几行

正则表达式:Regular Expression, 简称REGEXP

元字符

.: 匹配任意单个字符

[]: 匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

例如:特殊字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:],                   [:alnum:]

匹配次数

*: 匹配其前面的字符任意次

.*: 任意长度的任意字符

?: 匹配其前面的字符1次或0次,并不像基本正则表达式,无需加\

{a,d}:匹配其前面的字符至少a次,至多d次,并不像基本正则表达式,无需加\

例如:{1} 表示:前面字符匹配1次

{0,6} 表示: 前面字符至少匹配0次,最多6次

位置锁定或叫锚定

^: 锁定行首,此字符后面的任意内容必须出现在行首

举例说明:显示/etc/passwd文件中r开头的行

egrep ‘^r‘ /etc/passwd

$: 锁定行尾,此字符前面的任意内容必须出现在行尾

举例说明:显示/etc/passwd文件中bash结尾的行

egrep ‘bash$‘ /etc/passwd

^$: 表示 空白行

\<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

举例说明:显示/etc/passwd文件中以root开头并以root词结尾的行

egrep ‘^root\>‘ /etc/passwd

分组:( ) 并不像基本正则表达式,无需加\

例如:(mn)* 表示匹配任意mn组合字符

后向引用

\1:  引用第一个左括号以及与之对应的右括号所包括的所有内容

\2: 引用第二个左括号以及与之对应的右括号所包括的所有内容

\n: 引用第n个左括号以及与之对应的右括号所包括的所有内容

或者: |

举例说明:

1.D|dog 代表D和dog,而不是Dog和dog

2.找出/boot/grub/grub.conf文件中1-255之间的数字

egrep --color  ‘\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘           /boot/grub/grub.conf

      3.找出ifconfig命令中的ip地址:再提示一下,egrep 等于 grep -E

ifconfig | grep --color -E ‘(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘

时间: 2024-10-27 04:27:16

linux下egrep文件内容搜索工具及扩展正则表达式详解的相关文章

linux下grep文件内容搜索工具及基本正则表达式详解

grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:grep [选项] 匹配条件 文本名称 选项:  -i:  忽略大小写 -v: 显示没有被模式匹配到的行 -o:只显示被模式匹配到的字符串 --color: 搜索出来文件高亮度显示 -A: 匹配指定行的下几行 -B: 匹配指定行的上几行 -C: 匹配指定行的上下几行 -E: 扩展正则表达式 相当于egrep 正则表达式:Regular Expression, 简称REG

Finder(文件内容搜索工具)

搜索文件夹内容的小工具 Github 两种搜索模式的算法: BoyerMooreSearch.cs using System.Threading; using System.Collections.Generic; using System.Linq; namespace Finder.Algorithms { /// <summary> /// An implemention of Boyer-Moore algorithm. /// <para/>author : Ornith

Linux下查看文件内容的命令

查看文件内容的命令: cat     由第一行开始显示内容,并将所有内容输出 tac     从最后一行倒序显示内容,并将所有内容输出 more    根据窗口大小,一页一页的现实文件内容 less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head    只显示头几行 tail    只显示最后几行 nl      类似于cat -n,显示时输出行号 1.cat 与 tac cat的功能是将文件从第一行开始连续的将内容输出在屏幕上.但是cat并不常用,原因是当文件大,行

linux下查看文件内容cat,more,less

1. 查看文件内容经常使用的命令 cat : 由第一行显示文件内容 tac:  从最后一行開始显示.与cat相反 nl :  文件内容和行号一起输出 more: 一页一页显示 less: 与more类似,能够往前翻页 head: 取头部几行 tail:  取尾部几行 od: 以二进制方式读取文件内容 2. cat命令 查看cat的參数 cat --h $ cat --h Usage: cat [OPTION] [FILE]... Concatenate FILE(s), or standard

Linux 下比较文件内容并相同部分、不同部分

说明,是通过file2内容与file1做比较,最后列出file1与file2不同的部分! 一.准备两个文件: [[email protected] test1]# cat file1 a b c d e [[email protected] test1]# cat file2 c e 二.比较方法: 方法一:grep 命令 [[email protected] test1]# grep -v -f file2 file1 a b d 方法二:comm 命令 [[email protected]

linux下查看文件内容

vi 文件名 #编辑方式查看,可修改cat 文件名 #显示全部文件内容more 文件名 #分页显示文件内容tail 文件名 #仅查看尾部,还可以指定行数head 文件名 #仅查看头部,还可以指定行数sed '1,$'p 文件名 #这个可以指定起始行和结束行的,把1和$换了就可以awk ........

使用 /proc 文件系统来访问 linux操作系统 内核的内容 &amp;&amp; 虚拟文件系统vfs及proc详解

http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统中,

Linux下mysql的安装与卸载并且连接navicat详解(亲测可用)

哈喽,大家好,费了九牛二虎之力,终于完成了linux下用yum安装mysql,虽然出了很多错,但是最终成功可谓是不易,下面详细介绍下mysql的安装步骤: 一.卸载mysql 1.首先查看以前是否在linux上安装过mysql,如果有则需要先卸载干净. 首先使用命令查看虚拟机上是否存在mysql rpm -qa|grep -i mysql 如图所示,表示存在 2.停止mysql服务.删除之前安装的mysql 删除命令:rpm -e –nodeps 包名 如图所示: 如果提示依赖包错误,则使用以下

linux下通过mount挂载iscsi、ntfs、nfs详解

通常服务器本机自带磁盘空间有限,都需要额外加载磁盘,可以采用mount方式把远程的共享存储磁盘加载进来,目前用过的有iscsi.ntfs.nfs三种类型 一,mount挂载iscsi类型1,查找下准备挂载的磁盘或者存储器[[email protected] /]# iscsiadm -m discovery -t st -p 1x.xx.0.22:32601x.xx.0.22:3260,1 iqn.2001-05.com.equallogic:0-8a0906-6dac38009-c1b1cac