grep命令的-P選項


man grep的時候有一個-P,文檔上的英文:

-P, --perl-regexp

              Interpret PATTERN as a Perl regular expression.  This is highly experimental and grep -P may warn of  nimplemented features.

這意思是,-P 可以讓grep使用perl的正則表達式語法,因為perl的正則更加多元化,能實現更加復雜的場景。

最典型的用法是,匹配指定字符串之間的字符。 比如,我們想在一句話(Hello,my name is aming.)中匹配中間的一段字符串(my name is) 可以這樣寫正則表達式。 

echo "Hello, my name is aming."|grep -P '(?<=Hello, ).*(?= aming.)'

如果只需要匹配到的部分,還可以加上-o選項

echo "Hello, my name is aming."|grep -Po '(?<=Hello, ).*(?= aming.)'

根據這個思路,我們可以去匹配IP地址

ifconfig eth0 |grep -Po '(?<=addr:).*(?= Bcast)'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM