1. 程式人生 > >Linux學習之十一egrep及擴充套件正則表示式(egrep)

Linux學習之十一egrep及擴充套件正則表示式(egrep)

一、egrep及擴充套件正則表示式:
    REGEXP:REGular EXPression
    
    1、正則表示式:
        Basic REGEXP:基本正則表示式
        Extended REGEXP:擴充套件正則表示式
    2、擴充套件正則表示式:Extended REGEXP
        字元匹配:
            .:任意單個字元
            []:範圍內的任意單個字元
            [^]:範圍外的任意單個字元
        次數匹配:
            *:其前字元任意次
            ?:其前字元0次或1次
            +:其前字元至少1次,相當於正則表示式中'\{1,\}'
            {m,n}:匹配其前字元至少m次,至多n次
        位置錨釘:
            ^:錨釘行首
            $:錨釘行尾
            \<:錨釘詞首
            \>:錨釘詞尾
        分組:
            ():後向引用
                \1:引用第一個左括號以及與之對應的右括號所包含的所有內容
                \2:引用第二個左括號以及與之對應的右括號所包含的所有內容
                \3:引用第三個左括號以及與之對應的右括號所包含的所有內容
        或者:
            |:表示或者(or),如a|b,表示匹配a或者b
                例1:[
[email protected]
~]# grep -E --colour 'C|cat' test6.txt
                    cat
                    Cat
                    C
                    China
                例2:[[email protected] ~]# grep -E --colour '(C|c)at' test6.txt
                    cat
                    Cat
    3、grep -E =egrep                
                    
課後練習:
1、找出/proc/cpuinfo檔案中的1位數或2位數的行;
[
[email protected]
~]# grep '\<[0-9]\{1,2\}\>' /proc/cpuinfo
2、找出/boot/grub/grub.conf命令結果中的1-255之間的整數;
[[email protected] ~]# egrep --colour '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /boot/grub/grub.conf
3、查詢當前系統上名字為wolf(必須出現在行首)的使用者的賬號的相關資訊,檔案/etc/passwd;
[[email protected] ~]# grep '^wolf\>' /etc/passwd                    
4、顯示/boot/grub/grub.conf檔案中以一個或多個空白字元開頭的行;
[
[email protected]
~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf
或者:
[[email protected] ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf
5、找出ifcongfig輸出結果中IP及掩碼等地址;
[[email protected] ~]# ifconfig | egrep --colour -o '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
6、找出ifconfig輸出結果中A、B、C三類的IP地址;
[[email protected] ~]# ifconfig | egrep --colour -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-1][0-9]|22[0-3])\>(\.\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4]){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'

相關推薦

Linux學習egrep擴充套件表示式egrep

一、egrep及擴充套件正則表示式:     REGEXP:REGular EXPression          1、正則表示式:         Basic REGEXP:基本正則表示式         Extended REGEXP:擴充套件正則表示式     2、擴

egrep擴充套件表示式

正則表示式:             Basic REGEXP:基本             Extended REGEXP:擴充套件 grep:使用基本正則表示式定義的模式來過濾文字的命令;            -E: 使用擴充套件正則表示式          

Linux學習-Linux字符集亂碼處理

gin tails 讀取 文件 latin1 style ESS 自身 win Linux字符集及亂碼處理 1、字符(Character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。字符集(Character set)是多個字符的集合,字符集種類較多

NetAnalyzer筆記 打造自己的協議分析語言1初衷與語法構想

回頭看看NetAnalyzer開發系文件上次一篇竟然是2016年,老臉一紅。不過這幾年墨雲成功過的討到一個溫柔賢淑的老婆,有了一個幸福的家庭,去年9月又有了一個大胖兒子,想想也就釋然了^_^ 其實這幾年NetAnalyzer的開發一直也沒有中斷過,上一篇的NetAnalyzer還是3.x系列的版本,現在最新的

Python爬蟲表示式1

廖雪峰正則表示式學習筆記 1:用\d可以匹配一個數字;用\w可以匹配一個字母或數字; '00\d' 可以匹配‘007’,但是無法匹配‘00A’; ‘\d\d\d’可以匹配‘010’; ‘\w\w\d’可以匹配‘py3’; 2:.可以匹配任意字元; 'py.'可以匹配'pyc'、

linux下,如何在C語言中使用表示式整理

  一個正則表示式的教程可以參看(裡面有個測試正則表示式的工具)      正則表達是用來匹配字串的好東東。       如果使用者熟悉Linux下的sed、awk、grep或vi,那麼對正則表示式這一概念肯定不會陌生。由於它可以極大地簡化處理字串時的複雜度,因此現 在已

表示式——進階匹配分組

這部分我將換種形式來講述,結合實際問題需求來講述。 3.匹配分組 字元 功能 | 匹配左右任意一個表示式 (ab) 將括號中的字元作為一個分組 \num 引用分組num匹配到的字串 (?P<name>) 分組起

表示式-- 匹配組字元

一、匹配多個字元中的某一個 正則表示式是區分大小寫的,比如使用正則表示式cat可以匹配文字cat而不能匹配文字CAT,如果我們要匹配出含有文字cat的所有結果,而不關心它們大小寫的問題,這是就要需要使用元字元'['和元字元']'來建立一個字元集合,[]方括號間的所有字元組成

scala表示式內部匹配函式

1、scala解析正則表示式步驟 以下面表達為例: val dateP1 = new scala.util.matching.Regex("""(\d\d\d\d)-(\d\d)-(\d\d)"""

Nginx學習-Nginx啟動框架處理流程

table ssl 優先級 init int 數組 linux cmd 默認 Nginx啟動過程流程圖 下面首先給出Nginx啟動過程的流程圖: ngx_cycle_t結構體 Nginx的啟動初始化在src/core/nginx.c的main函數中完成,當然main

Linux學習路-集群LVS2【25】---20180217

ipvs 靜態 動態算法 一、ipvs scheduleripvs scheduler:根據其調度時是否考慮各RS當前的負載狀態有兩種方法:靜態方法和動態方法1、靜態方法僅根據算法本身進行調度1、RR:roundrobin,輪詢2、WRR:Weighted RR,加權輪詢3、SH:Source H

Linux學習六-Linux用戶管理

host 通用 sla 文章 create HR test 範圍 HA Linux用戶管理 Linux系統跟Windows系統一樣,可以創建不同的用戶,不同的用戶組。在不同用戶下使用系統具有相應的權限 創建一個普通用戶時,會修改幾個文件,拷貝一些初始文件到用戶家目錄中 修改

Linux學習五-Linux文件特殊權限和附加權限

增加 ech IE address 二進制 prot atime 說明 orm Linux文件特殊權限和附加權限 1、特殊權限suid 範圍:只能針對二進制命令文件 作用:讓普通用戶擁有二進制命令文件所有者的權限 舉例1:普通用戶使用passwd命令修改密碼 cat /e

Linux學習

今天學習的主要內容:       1、防火牆配置的第四種方法TCPWrappers服務訪問控制列表               /etc/hosts.allow 白名單,允許服務、流量、IP地址 &nbs

濾波器學習種通用濾波演算法

十一種通用濾波演算法 1、限幅濾波法(又稱程式判斷濾波法) A、方法: 根據經驗判斷,確定兩次取樣允許的最大偏差值(設為A) 每次檢測到新值時判斷: 如果本次值與上次值之差<=A,則本次值有效 如果本次值與上次值之差>A,則本次值無效,放棄本次值,用

我的Linux學習路()

       在大二的開始,還不算太晚的時間點,我決定成為一名網路安全工程師,於是決定先學習Linux,我主要從《Linux就該這麼學》和《鳥哥的Linux私房菜》以及看一些視訊來學習,在這裡會記錄我的學習經歷,學習中的收穫和遇到的困難,也會跟大家分享學習的心得。    

Tensorflow深度學習:基礎影象處理

OpenCV是一個十分強大的視覺庫,tensorflow也提供了十分強大的圖片處理函式,下面是一個簡單的例子來說明使用tensorflow和opencv兩個工具進行深度學習程式的設計。 首先是使用的原始圖片: import tensorflow as

Linux學習CentOS()--CentOS7環境搭建

一、前言      最近要從事Grails+Groovy+MongoDB軟體開發,使用的是Centos系統,  因為一直是在Windows下開發,一些工具和資料都是 在Windwos下面,所以還是決定用虛擬機器來安裝Centos系統,公司有成套配置好的虛擬機器系統, 

Esper學習:EPL語法

轉載請註明出處:http://blog.csdn.net/luonanqin        元宵過後回公司上班,換了個部門,換了個領導,做的事也換了,不過Esper還是會繼續搞,所以部落格也會慢慢寫的,大家別急。^_^        上一篇說到了EPL如何訪問關係型資料

Linux學習筆記:圖解TCP3次握手與4次揮手

cto 基於 名詞 分段 water http nag 名詞解釋 pro 如圖所示是是一個IP數據包的圖表: 我們知道web訪問是基於http協議和tcp/ip協議棧的,所以下面我們www.magedu.com 來通過抓包分析tcp3次握手過程。 如圖:第一個包:SYN