grep基本Regex及egrep擴充的Regex

來源:互聯網
上載者:User

一、簡介

grep是用於顯示部分)匹配字串格式的行

家族:grep egrep fgrp

二、grep的使用方法

  Usage: grep [options] PATTERN file..

options:

-i   忽略大小寫

--color 匹配部分高亮顯示

-o    只顯示匹配的部分

-n    顯示匹配的行及行數

-v    取反

-E    使用擴充的Regex

-A N   顯示匹配的行及匹配行後N行內容

-B N   顯示匹配的行及匹配行前的N行內容

-C N   顯示匹配的行及匹配行前和行後N行內容

基本Regex:REGularEXPression

①元字元:

.   任意的單個字元

[]  指定範圍內的單個字元

[^]  除了指定範圍內的單個字元

②字元個數

*  匹配前面的字元任意次

.*  任意長度的任一字元

\?  匹配前面的字元0次或1次

\{m,n\} 匹配前面的字元至少m次,至多n次

\{3\}  匹配前面的字元3次

\{1,\}  匹配前面的字元至少1次

③位置錨定

^   行首

$   行尾

^$   空白行

\<或者\b  其後面的任一字元必須作為單詞的首部出現

\>或者\b  其前面的字元必須作為單詞的尾部結尾

\<root\>  匹配單詞root

    注意:使用時候需要加“”

④分組

\(root\)   將root作為一個整體

\(root\)*   root為整體可以出現任意次數

分組的反向參考:

\(root\).*\1    等效於\(root\).*\(root\)

  \1  引用第一個)中的內容

  \2  引用第二個)中的內容

  ....

擴充的Regex:

使用grep -E 或者 egrep

①元字元:

  同基本Regex

②字元出現個數

*
?
+   至少出現一次
{m,n} 同基本Regex一樣,只是少了轉義符號\

③位置錨定

^
$
\<
\>

④元組基本同基本Regex,只是少了轉義符而已)

()
\1
\2

⑤或“|”
dog|cat  dog或者cat

練習:抓取ifconfig當中的ip地址x.x.x.x)

思路:x  [1-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-5][0-5]

本文出自 “keepalive” 部落格,請務必保留此出處http://jefferyyu.blog.51cto.com/2843635/1300245

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.