概念

grep命令是Linux系统中强大的文本搜索工具,可以搭配正则表达式搜索文本,分析一行信息如果有我们需要的信息就把该行拿出来

主要选项   说明
-c:只输出匹配行的计数
-i:不区分大小写
-n:顺便输出行号
-v:反向选择
-l:查询多文件时只输出包含匹配字符的文件名
-s:不显示不存在或无匹配文本的错误信息
-o:只显示匹配字符的部分
--color=auto:可以将查到的关键词部分加上颜色显示

正则表达式的主要参数

-?:同时显示匹配行的上下?行
匹配符合yyt行的上或下1行.png
^:匹配以"某字符串"开头的行
匹配以yyt开头的行.png
$:匹配以"某字符串"结尾的行
匹配以s结尾的行.png
<:从匹配正则表达式的行开始
XIZHEXSH@}2XDW{V}U~0H3V.png
>:到匹配正则表达式的行结束
Qfsd3fr7656fdr.png
[]:单个字符,如[R]即R符合要求
表示包含R的行.png
[^]:显示不包括括号中字符的所有行
@AO)XJZAX$_Q$D5X26H5UUT.png
[-]:范围匹配,比如[A-C],表示A、B、C都符合要求;如果是[a,b]表示只有a和b符合要求
TGWQ(X)9USB[L~31}DF1SOV.png
P14UE`6@3OP@}(O@3(PJ_L1.png
.:表示匹配单个字符,任意一个字符
[DJ4NQ}U78}OL87GN{Y4I1I.png
星号:表示匹配“星号”前面的字符,匹配0或无数个
DS03efCDSdcd1.png
反斜杠:表示屏蔽一个元字符的特殊含义,让它变成单纯的一个字符
[list]:意义:字符集合的RE字符,里面列出想要的选取字符
例如查找passwd文件最后一行含义yt或者是yy的那一行,就可以用【y[yt]】,表示查找的字符可以是yy或者是yt,[yt]代表y或t的意思

[yyt@vm-centos etc]$ tail -1 passwd|grep 'y[yt]'
yyt:x:1001:1001::/home/yyt:/bin/bash
[yyt@vm-centos etc]$ 

字符类描述

特殊符号代表意义
[:alnum:]代表英文大小写字符及数字,即0~9,A~Z,a~z
[:alpha:]代表任何英文的大小写字符即A~Z,a~z
[:blank:]代表空格键与[Tab]按键两者
[:cntrl:]代表键盘上面的控制按键,比如CR,LF,Tab,Del
[:digit:]代表数字而已即0~9
[:graph:]除了空格符(空格键与[Tab]按键)外的其他所有按键
[:lower:]代表小写字符,即a~z
[:print:]表示任何可以被打印出来的字符
[:punct:]表示报答你符号
[:upper:]表示大写字符即A~Z
[:space:]代表任何会产生空白的字符包括tab键CR等
[:xdigit:]代表十六进制的数字类型,因此包括0~9、A~F、a~f的数字与字符
最后修改:2022 年 04 月 22 日
如果觉得我的文章对你有用,请随意赞赏