Linux:正则表达式及:grep工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:正则表达式及:grep工具相关的知识,希望对你有一定的参考价值。

  1. 什么是正则表达式:

    正则表达式就是处理字符串的方法,他是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某种特定字符串的处理程序,其实就像相当与添加位置限定符,数量限定符,字符想定符来进行范围缩减匹配。


2.grep工具:

   首先grep就是一个查找工具,然后通过正则表达式完成字符串的搜索。

   存在3种限定符:

首先是字符限定符:

技术分享

数量限定符:

技术分享

技术分享

位置限定符:

技术分享

其他限定符:

技术分享

是grep正则表达式的Extended规范,Basic规范也有这些语法,只是字符?+{}|()应

解释为普通字符,要表示上述特殊含义则需要加\转义。如果用grep而不是egrep,并且不加-E

参数,则应该遵照Basic规范来写正则表达式。 (一定要注意!!!!!)


下面我们主要来说一下grep的各种选项,并结合上以上的各种限定符来使用一下:

常用的grep选项有:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。


一个一个来:

首先我们在终端下输入命令:count=0;while [ $count -le 100 ];do echo "hello abc $count">>file;let count++;done 


创建一个100行的file文件:

-c:只输出匹配行的计数。

技术分享

-------------------------------------------------------------------------------------------


-i:不区分大小写(只适用于单字符)。

使用这个之前我们使用sed工具对file文件进行转换:sed工具以后会写博文。

sed -i /he/s/he/HE/g file

表示我们把每一行的he都转换成了HE

然后我们使用grep -i;

技术分享

-------------------------------------------------------------------------------------------


-h 查询多文件时不显示文件名。

技术分享

-------------------------------------------------------------------------------------------


-n 显示匹配行及行号。

技术分享

-------------------------------------------------------------------------------------------


-s 不显示不存在或无匹配文本的错误信息。

技术分享

-------------------------------------------------------------------------------------------


-v 显示不包含匹配文本的所有行。

技术分享

-------------------------------------------------------------------------------------------

-l 查询多文件时只输出包含匹配字符的文件名。

技术分享


常用的就这些了=。=

本文出自 “剩蛋君” 博客,请务必保留此出处http://memory73.blog.51cto.com/10530560/1792687

以上是关于Linux:正则表达式及:grep工具的主要内容,如果未能解决你的问题,请参考以下文章

grep正则表达式详解及练习

Linux文本处理三剑客之grep及正则表达式

Linux相识相知文本处理工具之grepegrepfgrep及正则表达式

linux的正则grep及egrep介绍

Linux中的grepegrep及相应的正则表达式和用法

grep及正则表达式