Linux grep、egrep 命令使用示例及详解

一、grep简介

(1). grep (global search regular expression (RE) and print out the line ),[全面搜索正则表达式并把行打印出来]是一种强大的文本搜索工具,他们使用正则表达式搜索文本,并且把匹配的行打印出来。

(2).grep家族包括grep、egrep和fgrep,其中egrep和fgrep的命令只跟grep有很小的不同。egrep是grep的扩展,支持更多的(RE)元字符.

(3)可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果不成功,则返回1,如果搜索不存在,则返回2,我们利用返回值可以进行一些自动化的文本处理工作。

(4)语法说明:

grep [options] PATTERN [FILE...]

  • -a或--text 不要忽略二进制的数据。
  • -A或--after-context= 除了显示符合范本样式的那一列之外,并显示该列之後的内容。
  • -b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
  • -B或--before-context= 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
  • -c或--count 计算符合范本样式的列数。
  • -C或--context=或- 除了显示符合范本样式的那一列之外,并显示该列之前後的内容。
  • -d或--directories= 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e或--regexp= 指定字符串做为查找文件内容的范本样式。
  • -E或--extended-regexp 将范本样式为延伸的普通表示法来使用。
  • -f或--file= 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
  • -F或--fixed-regexp 将范本样式视为固定字符串的列表。
  • -G或--basic-regexp 将范本样式视为普通的表示法来使用。
  • -h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
  • -H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
  • -i或--ignore-case 忽略字符大小写的差别。
  • -l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
  • -L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
  • -n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
  • -q或--quiet或--silent 不显示任何信息。
  • -r或--recursive 此参数的效果和指定“-d recurse”参数相同。
  • -s或--no-messages 不显示错误信息。
  • -v或--revert-match 反转查找。
  • -V或--version 显示版本信息。
  • -w或--word-regexp 只显示全字符合的列。
  • -x或--line-regexp 只显示全列符合的列。
  • -y 此参数的效果和指定“-i”参数相同。
  • --help 在线帮助。

grep正则表达式元字符

^    锚定行的开始 例如:‘^grep‘ 匹配所有以grep开头的行。

$    锚定行的结束 例如:‘grep$‘ 匹配所有以grep结尾的行。

.    匹配一个非换行符的字符 例如:‘gr.p‘ 匹配gr后面接一个任意字符,然后是p。

*    匹配零个或多个先前字符 例如: ‘*grep‘ 匹配所有一个或多个空格后紧跟grep的行,.*一起用,代表任意字符。

[]  匹配一个指定范围内的字符 例如:‘[Gg]rep‘ 匹配Grep和grep.

[^] 匹配一个不在指定范围内的字符,例如:‘[^A-EG-Z]rep‘ 匹配不包含A-EG-Z开头,紧跟rep的行

时间: 2024-11-06 13:15:58

Linux grep、egrep 命令使用示例及详解的相关文章

转:Linux中find命令-path -prune用法详解

在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能. 假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0.dir1和dir2 ...等目录及dir00.dir01...dir10.dir11...等子目录. 1. 在当前目录下查找所有txt后缀文件 find ./ -name *.txt 2.在当前目录下的dir0目录及子目录下查找txt

Linux grep/egrep命令详解

什么是grep? 我们今天要学习的grep实用程序是一个Unix工具,它与egrep和fgrep实用程序属于同一系列.这些都是用于对文件和文本执行重复搜索任务的Unix工具.您可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息. 所以他们说grep是全局搜索正则表达式并打印出匹配的行,但这个命令'grep'来自哪里? grep基本上来源于一个名为ed的非常简单和令人尊敬的Unix文本编辑器的特定命令.这是ed命令的用法: g/re/p 该命令的目的与我们通过grep进行搜索的

grep,egrep相应的正则表达式用法详解。

grep(global search regular RE )是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来. grep是很常见也很常用的命令,它的主要功能是进行字符串数据的比较,然后符合用户需求的字符串打印出来,但是主意,grep在数据中查找一个字符串时,是以"整行"为单位进行数据筛选的. 例子:grep --color=auto "root" /etc/passwd egrep命令等同于grep -E,利用此命令可以使用扩展

Linux 重命名命令 rename 和 mv 详解

刚学linux时,对文件重命名脑袋里立马呈现了rename命令,但却用不起来.G了一下,仍是一知半解,而且发现很多人对它也是很陌生!还有部分童鞋说直接使用mv,哎,mv还真管用,但老感觉命令名咋就那么不顺眼呢! 我们来man下吧,先man mv: mv - move (rename) files mv不仅有转移的功能,确实有重命名的含义,语法简单可理解为: mv [path/]oldfilename [path/]newfilename 但只能是重名为当个文件. 我们再来man rename:

linux下iptables命令的应用与详解

一.iptables的规则表和链. 表(tables)提供特定的功能,iptables内置了4个表,即filter表.nat表.mangle表和raw表,分别用于实现包过滤,网络地址转换.包重构(修改)和数据跟踪处理.   链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则.当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件.如果满足,系统就会根据 该条规则所定义的方法处理该数据

linux 下rpm命令参数使用方法详解

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: 一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系:也就是安装一个rpm包需要的so动态链接库(也称为共享库)的环境.其实就和人的生存环境一样

Linux中find命令-path -prune用法详解

摘自:http://www.cnblogs.com/hopeworld/archive/2011/04/08/2009252.html 在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能. 假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0.dir1和dir2 ...等目录及dir00.dir01...dir10.dir11...等子目录

Linux文件查找命令find和xargs详解

PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实都是带转义字符的\:,可能是本博的模板问题,后台显示但前台没显示出来.对于不同的系统,直接使用分号可能会有不同的意义,使用转义符\在分号前明确说明. 目录 版权声明 前言:关于find命令 一.find 命令格式1.find命令的一般形式为:2.find命令的参数:3.find命令选项:4.使用ex

【命令cp】linux cp复制命令参数及用法详解

cp (复制档案或目录)[[email protected] ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected] ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询