man grep的时候有一个-P,文档上的英文:正则表达式
-P, --perl-regexpexpress
Interpret PATTERN as a Perl regular expression. This is highly experimental and grep -P may warn of nimplemented features.spa
这意思是,-P 可让grep使用perl的正则表达式语法,由于perl的正则更加多元化,能实现更加复杂的场景。regexp
最典型的用法是,匹配指定字符串之间的字符。 好比,咱们想在一句话(Hello,my name is aming.)中匹配中间的一段字符串(my name is) 能够这样写正则表达式。 文档
echo "Hello, my name is aming."|grep -P '(?<=Hello, ).*(?= aming.)'字符串
若是只须要匹配到的部分,还能够加上-o选项io
echo "Hello, my name is aming."|grep -Po '(?<=Hello, ).*(?= aming.)'ast
根据这个思路,咱们能够去匹配IP地址perl
ifconfig eth0 |grep -Po '(?<=addr:).*(?= Bcast)'语法