shell正则
正则表达式正则表达式 由 元字符 、普通字符、元字符 和普通字符组成
语法格式
grep [选项] '正则表达式' 文件列表
命令| grep [选项] '正则表达式'
-------------------------------------------------------
psaux|grep sshd
grep root/etc/passwd
选项?
--color标红显示匹配字串
-q 静默,无任何输出,一般用于检测
-c 统计匹配的行数
-n 显示出匹配结果所在的行号
-v条件取反
-i 忽略字母大小写
-E使匹配条件转义(或者用egrep)
元字符有哪些?
^匹配行首
$ 匹配行尾
. 任意单个字符(不包括换号符号 \n)
----------------------------------------------------------------------
定义前边的正则表达式出现的次数
\+前边的正则表达式出现1次到多次
\? 前边的正则表达式出现0次到1次
* 前边的正则表达式出现0次到多次
----------------------------------------------------------------------
\(\) 把正则表达式做为整体匹配
----------------------------------------------------------------------
\{\} 限定前边正则表达式出现的次数
{N}前边正则表达式必须出现N次
{N,}前边正则表达式至少出现N次
{N,M}前边正则表达式至少出现N次 最多出现M次
----------------------------------------------------------------------
[ ]范围内匹配,范围内任意一个字符(次数是一次)
匹配所有小写字母
匹配所有大写字母
匹配所有大小写字母
匹配所有数字
匹配所有大小写字母和数字
^[ ] 以范围内的开头
^
^
^
^
[ ]$ 以范围内的结束
^$
[^ ] 范围内取反
^[^a-Z0-9] 匹配以符号开头的行
------------------------------------------------------------
\| 或
grep--color'^root\|^daemon'/etc/passwd 列出以root或者以daemon开头的行
grep--color'^'/etc/passwd 列出以r或者以d开头的行
----------------------------------------------------------------------
\<单词的开头
\>单词的结束
head -5 /etc/httpd/conf/httpd.conf| grep--color'\' 列出以带s结尾的单词的行
\b 单词边界
grep --color '\btom' d.txt单词左边包含tom的行
grep --color 'tom\b' d.txt单词右边包含tom的行
grep --color '\btom\b' d.txt 单词只包含tom的行 边界无其他字符
---------------------------------------------------------------------
XX:XX:XX:XX:XX:XX
grep-E--color'({2}:){5}{2}'mac.txt
0 1 2 3 4 5 6 7 8 9 a b c d e fA B C DEF
grep--color'\(\{2\}:\)\{5\}\{2\}'mac.txt
---------------------------------------------------------------------
ip的正则表达式(括号的大小写很严格,点需要转义)
grep -E '^(||1|2|25)\.((||1|2|25)\.){2}(||1|2|25)$'
页:
[1]