标签:key 次数 控制字符 长度 cci 示例 xsl body poe
符号
|
描述
|
实例
|
.
|
匹配任意单个字符(必须存在)
|
例子:l..e
可以表示
love
like
leee
不可以表示的
labcde
le
lee
|
^
|
匹配前面字符串开头
|
匹配以 abc 开头的行:
echo -e "abc\nxyz" |grep ^abc
|
$
|
匹配前面字符串结尾
|
匹配以 xyz 结尾的行:
echo -e "abc\nxyz" |grep xyz$
|
*
|
匹配前一个字符的零个或多个
|
a* 表示出现任意个a的情况
a*b 表示b前面有任意个a的情况(包括没有a的情况)
|
.*
|
表示任意长度的任意字符
|
例子:过滤出一行中a在前,b在后的行
条件:
包含 a 和 b
字母 a 必须在 b前面
# grep --color "a.*b" b.txt
|
+(扩展正则)
|
表示其前面的字符出现最少一次的情况
|
匹配 abc 和 abcc:
echo -e "abc\nabcc\nadd" |grep -E ‘ab+‘
匹配单个数字:echo "113" |grep -o ‘[0-9]‘
连续匹配多个数字:echo "113" |grep -E -o ‘[0-9]+‘
|
?(扩展正则)
|
表示其前面的字符出现最多一次的情况(可以0个)
|
匹配 ac 或 abc:
echo -e "ac\nabc\nadd" |grep -E ‘a?c‘
|
[]
|
表示范围内的一个字符
|
例子:过滤出包含小写字母的行 grep [a-z] a.txt
例子:过滤出包含大写字母的行 grep [A-Z] a.txt
例子:过滤出包含数字的行 grep [0-9] a.txt
例子:过滤出包含数字和小写字母的行 grep [0-9a-z] a.txt
例子:过滤出包含字母asf的行 grep [asf] a.txt
|
[ .-.]
|
匹配中括号中范围内的任意一个字符
|
匹配所有字母
echo -e "a\nb\nc" |grep ‘[a-z]‘
|
[^]
|
匹配[^字符]之外的任意一个字符
|
匹配 a 或 b:
echo -e "a\nb\nc" |grep ‘[^c-z]‘
匹配末尾数字:echo "abc:cde;123" |grep -E
‘[^;]+$‘
|
^[^]
|
匹配不是中括号内任意一个字符开头的行
|
匹配不是#开头的行:
grep ‘^[^#]‘ /etc/httpd/conf/httpd.conf
|
{n}或者{n,}
|
匹配花括号前面字符至少 n个字符
|
echo "aadadccc" | egrep "a{2}"
echo "aadadccc" | egrep "a{1}"
|
{n,m}
|
匹配花括号前面字符至少 n个字符,最多 m 个字符
|
例子:
"ac\{2,5\}b" 匹配a和b之间有最少2个c最多5个c的行
"ac\{,5\}b" 匹配a和b之间有最多5个c的行
"ac\{2,\}b" 匹配a和b之间有最少2个c的行
|
\<
|
锚定单词首部(单词一般以空格或特殊字符做分隔)
|
# echo "hi,root,iamroot" | grep "\<root"
hi,root,iamroot
# echo "hi,root,iamroot" | grep "root\>"
hi,root,iamroot
# echo "hi,root,iamroot" | grep "\<root\>"
hi,root,iamroot
|
\>
|
锚定单词尾部(单词一般以空格或特殊字符做分隔,)
|
# echo "hi,root,iamroot" | grep "\<root"
hi,root,iamroot
# echo "hi,root,iamroot" | grep "root\>"
hi,root,iamroot
# echo "hi,root,iamroot" | grep "\<root\>"
hi,root,iamroot
|
()
|
\1 调用前面的第一个分组
|
例子:过滤出一行中有两个相同数字的行
# grep "\([0-9]\).*\1" inittab
例子:过滤出行首和行位字母相同的行
# grep "^\([a-z]\).*\1$" inittab
|
|(扩展正则)
|
匹配竖杠两边的任意一个
|
例子:过滤出cat 或者Cat
# grep "cat|Cat" a.txt
# grep "(C|c)at" a.txt
|
Posix字符
|
描述
|
[:alnum:]
|
等效a-zA-Z0-9
|
[:alpha:]
|
等效a-zA-Z
|
[:lower:]
|
等效a-z
|
[:upper:]
|
等效A-Z
|
[:digit:]
|
等效0-9
|
[:space:]
|
匹配任意空白字符,等效\t\n\r\f\v
|
[:graph:]
|
非空白字符
|
[:blank:]
|
空格与定位字符
|
[:cntrl:]
|
控制字符
|
[:print:]
|
可显示的字符
|
[:punct:]
|
标点符号字符
|
[:xdigit:]
|
十六进制
|
标签:key 次数 控制字符 长度 cci 示例 xsl body poe
原文地址:https://www.cnblogs.com/hao6/p/12863454.html