怎么在Linux用egrep查找文档编号怎么设置中所有以a开头t结尾的单词?

      按照指定的模式在文件中搜索匹配的行,将结果显示在标准输出另外还有两个指令egrep相当于grep –E,fgrep相当于grep -F如果没有给出文件名,那么从标准输入读取

使用扩展规则表達式解释匹配模式

将匹配模式看做固定字符串

使用基本规则表达式解释匹配模式

使用perl表达式解释匹配模式

如果文件的前几个字节表示该文件包含二进制数据,则假定该文件类型是TYPE默认情况下,TYPE为二进制grep通常输出一行消息表示二进制文件匹配,如果没有匹配则不输出消息如果类型不匹配,grep假定二进制文件不匹配;这相当于-i选项如果TYPE是文本,grep会像处理文本一样处理二进制文件;这相当于-a选项警告:“grep-binary-files=text”可能会输出二进制垃圾,如果输出是终端并且终端驱动程序将其中的一些解释为命令,则会产生严重的副作用

如果输入文件是一个設备文件,那么用指定的action处理read,像普通文件一样读取设备skip,忽略设备

如果查找的是目录文件那么使用指定的操作处理。read像普通文件一样读取目录;skip,忽略目录;recursive递归当时读取子目录下文件。

跳过其基本名称与从FILE中读取的任何文件名全局匹配的文件

从递归搜索中排除匹配模式DIR的目录

只搜索其基本名称与GLOB匹配的文件

递归方式读取目录下所有文件

显示匹配行以及之后指定的行数

显示匹配行以及之前指萣的行数

显示匹配行以及之前和之后的指定行数

在显示匹配的行之前,打印该行第一个字符的偏移位置

为每个匹配的行显示文件名如果囿多个文件的话,这是默认操作

显示匹配的行但是不显示文件名。如果搜索一个文件时这是默认操作

显示匹配的行之前,显示行号

确保实际行内容的第一个字符位于制表符停止上使制表符的对齐看起来正常。

报告Unix样式的字节偏移量此开关使grep报告字节偏移量,就像文件是Unix样式的文本文件一样

输出一个零字节(ASCII null字符)而不是通常跟随文件名的字符。例如“grep –lz”在每个文件名之后输出一个零字节,而不是通常的换行符

用转义序列包围匹配(非空)字符串、匹配行、上下文行、文件名、行号、字节偏移量和分隔符(用于字段和上下文行组),以便茬终端上显示它们的颜色颜色由环境变量grep_colors定义。仍然支持不推荐的环境变量grep_color但它的设置没有优先级。WHEN的有效值是neveralways,auto

禁止正常输出;而是打印通常不会输出的每个输入文件的名称。扫描将在第一次匹配的时候停止

显示内容符合指定匹配模式的文件名

在匹配num行之后,停止搜索

只显示匹配行的匹配字符

静默模式搜索完成之后返回0

不显示文件不存在和文件不可读的错误信息

将给定的文件内容作为匹配模式

显示不符合匹配模式的行

对输出使用行缓冲。这会导致性能损失

如果可能,使用mmap(2)系统调用来读取输入而不是默认的read(2)系统调用。在某些情况下mmap会产生更好的性能。但是-mmap可能导致未定义的行为(包括核心转储),如果一个输入文件在grep运行时收缩或者如果发生I/O错误。

将文件视为二进制文件

将输入视为一组行,每一行以零字节(ASCII NUL字符)结尾而不是换行符。

          sl=用于整个选定行的SGR子字符串(即-v命令行选项省略时的匹配行,或指定-v时不匹配的行)但是,如果指定了布尔rv功能和-v命令行选项则它将应用于上下文匹配行。默认值为空(即终端的默认颜色对)

          cx=,用于整个上下文行的SGR子字符串(即省略-v命令行选项时的非匹配行或指定-v时的匹配行)。但是如果指定了布尔RV功能和-v命令行选项,则它將适用于选定的非匹配行默认值为空(即终端的默认颜色对)。

          mt=01;31用于匹配任何行中的非空文本的sgr子字符串。(这仅在省略-v命令行选项时使鼡)当启动时,sl=(或cx=)能力的效果保持活跃默认值是当前行背景上的粗体红色文本前景。

          ms=01;31用于匹配选定行中的非空文本的sgr子字符串。(这僅在省略-v命令行选项时使用)当启动时,sl=(或cx=)能力的效果保持活跃默认值是当前行背景上的粗体红色文本前景。

          mc=01;31用于匹配上下文行中嘚非空文本的sgr子字符串。(这仅在省略-v命令行选项时使用)当启动时,sl=(或cx=)能力的效果保持活跃默认值是当前行背景上的粗体红色文本前景。

          se=36当指定了非零上下文(--),SGR子字符串用于在选定的行字段(:)、上下文行字段之间(-)和相邻行组之间插入分隔符默认值是终端默认背景仩的青色文本前景。

 ne布尔值,该值防止在每次彩色项结束时使用擦除入行(EL)对右(\33[K]清除到行尾的值这是在不支持EL的终端上需要的。对于没囿应用Back_COLOR_ERASE(BCE)布尔终止功能的终端、所选择的高亮颜色不影响背景、或者当EL太慢或导致过多闪烁时它在其他情况下是有用的。默认值为false(即省略功能)

 POSIXLY_CORRECT如果设置,grep的行为与POSIX.2所要求的一样;否则grep的行为更像其他GNU程序。POSIX.2要求必须将文件名后面的选项视为文件名;默认情况下这些选項被排到操作数列表的前面,并被视为选项此外,POSIX.2还要求将未被承认的选项诊断为“非法”但由于它们并不真正违反法律,默认情况昰将它们诊断为“无效”POSIXLY_RIDER还禁用_N_GNU_NOOPTION_ARGV_LANGS_,如下所述

 _N_GNU_nonoption_argv_flags_,(这里N是grep的数字进程ID)如果此环境变量值的ith字符为1,则不要将grep的ith操作数视为选项即使它姒乎是选项之一。shell可以为其运行的每个命令在环境中放置此变量指定哪些操作数是文件名通配符展开的结果,因此不应被视为选项此荇为仅在GNU C库中可用,且仅在未设置POSIXLY_RIDER时才可用

     通常,如果找到选定的行则退出状态为0,否则为1但是,如果发生错误退出状态为2,除非使用-q、--quite、--slient选项并找到选定的行。但是请注意,对于grep、CMP和diff等程序POSIX只要求在出现错误时的退出状态大于1;因此,出于可移植性的考虑建议使用对此一般条件进行测试的逻辑,而不是与2严格相等的逻辑

}

这组命令以指定模式搜索文件並通知用户在什么文件中搜索到与

指定的模式匹配的字符串,并打印出所有包含该字符串的文本行在该文本行的最前面是该

命令一次只能搜索一个指定的模式;

命令检索扩展的正则表达

式(包括表达式组和可选项)

命令检索固定字符串,它不识别正则表达式是快速搜

这組命令在搜索与定位文件中特定的主题方面非常有用。要搜索的

模式可以被认为是一些关键词

您可以用它们来搜索文件中包含的这些关鍵词。

可以用它来寻找某一个函数

命令的搜索模式可以是正则表达式,而

却不能有关正则表达式请参见

该组命令中的每一个命令都有┅组选项,利用这些选项可以改变其

输出方式例如,可以在搜索到的文本行上加入行号或者只输出文本行的行号,或者输出

所有与搜索模式不匹配的文本行或只简单地输出已搜索到指定模式的文件名,并且可以指

定在查找模式时忽略大小写

这组命令在指定的输入文件中查找与模式匹配的行。如果没有指定

文件则从标准输入中读取。正常情况下每个匹配的行被显示到标准输出。如果要查找的

文件昰多个则在每一行输出之前加上文件名。

每个模式作为一个扩展的正则表达式对待

每个模式作为一组固定字符串对待

在输出的每一行湔显示包含匹配字符串的行在文件中的字节偏

在查找多个文件时,指示

不要将文件名加入到输出之前

显示首次匹配串所在的文件名并用換行符将其隔开。当在某文

件中多次出现匹配串时不重复显示此文件名。

在输出前加上匹配串所在行的行号(文件首行行号为

只显示不包含匹配串的行

只显示整行严格匹配的行。

指定检索使用的模式用于防止以“

文件中获取要搜索的模式,一个模式占一

}

一、正则表达式定义说明

为处理夶量的字符串而定义的一套规则和方法
通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤、替换或者输出需要的字符串

在linux運维工作中,时刻都会面对大量带有字符串的文本配置、程序、命令输出及日志文件等
而我们经常会有迫切的需要从大量的字符串内容Φ查找符合工作需要的特定字符串,这就要靠正则表达式
因此,可以说正则表达式就是为过滤这样字符串的需求而生的!

正则表达式应鼡非常广泛例如:php,Pythonjava等,但在linux中最常用的正则表达式的命令就是grep(egrep)sed,awk等。

linux正则表达式一般以行为单位处理的
正则表达式和我们常用的通配符特殊字符是有本质区别的,例如:ls *.txt 这里的*就是通配符(表示所有)不是正则表达式。

二、正则表达式含义解释

复0个或一个0前面嘚字符
|   用或的方式查找多个符合的字符串

-o 只显示被匹配的关键字,不打印匹配的行内容

-v 取反显示未被匹配的行信息

-q 静默模式,不输出任哬信息在shell脚本中,可以通过echo $? 查看是否匹配到0表示匹配到,1表示没有匹配到

-E 使用扩展正则表达式。

正则表达式是一种字符模式用于茬查找过程中匹配制定的字符。
元字符通常在Linux中分为两类:
  正则表达式元字符由vi/grep/sed/awk等文本处理工具进行解析;

本文主要针对普通正则表达式,和扩展正则表达式进行展开

查找8重复3-5次的内容

查找8重复3次以上(至少重复3次)的内容

   扩展的正则表达式:

1)、用+显示 重复一個或一个以上前面的字符

2)、用显示0个或者1个前面的字符

3)、用|或,查找多个字符串

4)、用()分组过滤

}

我要回帖

更多关于 文档编号怎么设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信