一、回溯引用

1.将页面中合法的标题找出来,使用回溯引用匹配 (需要使用 -E 或 -P 来扩展grep语法支持)

正则表达式案例篇_sed

 2.查找连续出现的单词

正则表达式案例篇_Ubuntu_02

 二、前后查找 (grep 只能使用 -P 选项)

1. 向前查找

(1)查找协议名称

正则表达式案例篇_sed_03

(2)只要行首协议名称

正则表达式案例篇_IP_04

2.向后查找

查找以Li开头的名字

正则表达式案例篇_Ubuntu_05

三、嵌入条件( grep 只有-P选项可用来进行嵌入条件查找)

正则表达式案例篇_IP_06

(2) 查找首尾都是数字的行(不使用嵌入条件会更简单,这里仅是演示)


[zheng@localhost ~]$ cat embed.txt 
1bei3
1shangdf
1guang9
shen
[zheng@localhost ~]$ grep -P '(\d+).*(?(1)\d+)$' embed.txt
1bei3
1guang9


 四、获得本机IP


ip addr show | grep -P '(?<=inet\s)([0-9]{1,3}\.){3}([0-9]{1,3})(?=.*global\s+e)' -o


which ip &>/dev/null && ip addr show | grep 'brd.*global'| grep -v 'vir' | cut -d '/' -f 1 | sed 's/[^0-9\.]//g'


五、获得操作系统名字(适用于Ubuntu CentOS)


cat /etc/os-release | grep -P "(?<=^NAME=\").*(?=\")" -o