一个提高工作效率的常用linux命令

编程入门 行业动态 更新时间:2024-10-11 23:19:24

一个<a href=https://www.elefans.com/category/jswz/34/1762901.html style=提高工作效率的常用linux命令"/>

一个提高工作效率的常用linux命令

grep命令

1、作用:

Linux系统中grep命令是一种强大的文本搜索工具,它能使用多种选项及正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式打印,它的使用权限是所有用户。

2、语法:

grep [option...] [patterns] [file...]

可以有零个或多个选项参数,以及零个或多个文件参数。patterns参数包含一个或多个由|分隔的模式,当通过“-e patterns”或“-f file”选项给出模式时,将忽略该参数。当在shell命令中使用grep时,通常应该引用模式。***

3、常用选项:

-E :开启扩展(Extend)的正则表达式。
-i :忽略大小写(ignore case)。
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而搜寻的是like,就可以使用-w选项来避免匹配liker
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
–color :将匹配到的内容以颜色高亮显示。
-A n:显示匹配到的字符串所在的行及其后n行,after
-B n:显示匹配到的字符串所在的行及其前n行,before
-C n:显示匹配到的字符串所在的行及其前后各n行,context

4、基本正则表达式

4.1匹配字符:
. :任意一个字符。
[abc] :表示匹配一个字符,这个字符必须是abc中的一个。
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
对于一些常用的字符集,系统做了定义:
[A-Za-z] 等价于 [[:alpha:]]
[0-9] 等价于 [[:digit:]]
[A-Za-z0-9] 等价于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等价于 [[:upper:]]
[a-z] 等价于 [[:lower:]]
标点符号 [[:punct:]]

5、常见使用示例

5.1 示例1

搜索日志文件中是否存在错误信息,假如错误信息的关键字是"error",可以使用如下命令

grep error test.log

5.2 示例2

如果搜索的字符串不包含空格则可以不需要引号,如果包含空格,则需要使用双引号或者单引号包起来。

5.3 示例3

搜索目录下所有文件,包含子文件夹,加上-r参数即可

grep -r "xxxxxx" *

5.4 示例4

搭配其他命令一起使用,比如:搭配tailf命令实时搜索相关字符串,搭配ps命令搜索相关进程是否启动。

tailf xxx.log | grep "good"
ps -ef | grep "goodprocess"

5.5 示例5

搜索历史日志文件,但是历史日志文件被打包成gz文件了,全部解压出来再使用grep搜索就太麻烦了,这时可以使用zgrep。

zgrep -a "good" xxxx.tar.gz

5.6 示例6

搜索不固定的字符串,但是这些字符串有一定的规律,这时可以使用正则表达式。假如日志中日期格式为1009-123030,想要搜索12点到13点的日志,则可使用如下命令

grep "1009-1[2-3][[:digit:]]\{4\}" test.log
grep -E "1009-1[2-3][[:digit:]]{4}" test.log
egrep "1009-1[2-3][[:digit:]]{4}" test.log
这3种方式都可以

5.7 示例7

如果搜出来的日志比较多,全部打印出来无法阅读,那么可以将其存到一个文件中。

egrep "1009-1[2-3][[:digit:]]{4}" test.log > 1213.log

5.8 示例8

同时搜索多个关键字,使用|分割关键字,如下多个关键字是或的关系

grep "hund\|world\|China" test.log
grep -E "hund|world|China" test.log
egrep "hund|world|China" test.log
这3种方式都可以

多个关键字与的关系,使用多个grep分别搜索,同一行包含所有关键字才会有结果。

grep hund test.log | grep world | grep China

grep的功能是非常强大的,如上只是列举了几个工作中常用的功能,如果需要了解更多功能,可以参考官方文档

更多推荐

一个提高工作效率的常用linux命令

本文发布于:2024-02-13 20:51:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760357.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:提高工作效率   命令   常用   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!