grep的使用方法

grep 命令

grep globalsearch regular expression(RE) and print out theline,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。


基本的正则表达式

符号

意义

例子

*

0个或者多个在*字符之前的那个普通字符

hel*o>hello,helllllo,helo

.

匹配任意字符

.73

^

匹配行首,或者后面字符的非

^cloud>cloud开始的行

$

匹配行尾 ^$表示空行

micky$>micky结尾的行

[]

匹配字符集合

[a-z]>所有小写,[A-Z]>所有的大写字母,[0123456789]=[0-9],-表示从左边到右边

\

转义符,屏蔽一个元字符的特殊意义


\<\>

精确匹配符号

\<the\>精确匹配the这个单词

\{n\}

匹配前面字符出现n

JO\{3\}重复字符O3

\{n,\}

匹配前面字符至少出现n

JO\{3,\}重复字符O至少3

\{n,m\}

匹配前面字符出现n-m

JO\{3,6\}重复字符O3-6


拓展的正则表达式

符号

意义

例子

匹配0个或者1个在其之前的普通的字符

JOB>JOB,JOOB

+

匹配1个或者多个在其之前的普通的字符

S+EU>SSEU,SEEEU,SSSSSEU

()

表示一个字符集合或用在expr

re(a|e|o)d表示从a,e,o中选择一个

|

表示“或”,匹配一组可选的字符

|可以作为或使用,但是一般备用于管道符用法

bash shell本身不支持正则表达式,使用正则表达式的是shell命令和工具,如grep,sed,awk

但是bashshell 可以使用正则表达式中的一些字符实现通配功能,常用的通配符号有?,*{},[]

grep 的格式一般为:

grep [选项】【模式】 【文件……】

grep的命令可以是字符串,可以是变量还可以是正则表达式,只要模式中包含空格则需要使用“”


grep 命令选项与意义

选项

意义

例子

-c

只输出匹配行的数量

grep -c Certificate *.pem

-i

搜索时忽略大小写

grep -i certificate *.pem

-h

查询多个文件是不显示文件名


-l

只列出符哈匹配的文件名,而不列出具体的匹配行


-n

列出所有的匹配行,并显示行号


-s

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


-v

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


-w

匹配整词


-x

匹配整行


-r

递归搜索,不仅搜索当前的工作目录,而且搜索子目录


-q

禁止输出任何结果,以退出状态表示搜索是否成功


-b

打印匹配行距文件头部的偏移量,以字节为单位


-0

-b选项结合使用,打印匹配的词距文件头部的偏移量,以字节为单位


-E

支持拓展的正则表达式


-F

不支持正则表达式,按照字符串的字面意思进行匹配



grep是一种在Linux和Unix操作系统中用于搜索文本的命令行实用程序。它可以用来在一个或多个文件中查找匹配的字符串,并输出匹配的行。以下是一些常见的grep使用方法: 1. 搜索一个文件中的字符串 ``` grep "search_string" file.txt ``` 这个命令将在file.txt文件中搜索字符串"search_string"。如果找到了匹配的行,它们将被输出到终端。 2. 搜索多个文件中的字符串 ``` grep "search_string" file1.txt file2.txt file3.txt ``` 这个命令将在file1.txt、file2.txt和file3.txt文件中搜索字符串"search_string"。如果找到了匹配的行,它们将被输出到终端。 3. 使用正则表达式搜索 ``` grep -E "regex_pattern" file.txt ``` 这个命令使用正则表达式搜索file.txt文件中匹配"regex_pattern"的行。如果找到了匹配的行,它们将被输出到终端。 4. 搜索一个目录中的所有文件 ``` grep "search_string" /path/to/directory/* ``` 这个命令将在/path/to/directory/目录下的所有文件中搜索字符串"search_string"。如果找到了匹配的行,它们将被输出到终端。 5. 搜索时忽略大小写 ``` grep -i "search_string" file.txt ``` 这个命令将在file.txt文件中搜索字符串"search_string",忽略大小写。如果找到了匹配的行,它们将被输出到终端。 这些只是grep的一些基本使用方法grep有很多其他的选项和用法,可以通过man grep来查看完整的帮助文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值