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)'語法