7 Linux 之正則表達式

抱怨只是無能的表現,無它。      ——馬哥,永遠都是正能量


  • 正則表達式:

    • 理解:由元字符及正常字符拼湊的一中模式,根據目標字符或字符串的某些特徵總結出來的對應的“公式”

    • 作用:可用於文件查找,模式匹配等等

    • 字符匹配:

    • 次數匹配:

    • 位置錨定:

    • ^:錨定行首

    • $:錨定行尾

    • \<:錨定詞首

    • \>:錨定詞尾

    • ^$:匹配空白行,包括行中只有空格和製表符的行!!!

    • \(\):分組。這個感覺比較高大尚。分組模式中,在某次匹配過程中所匹配到的字符,被grep暫時記憶(保存到內置變量\1,\2,...中),故而

    • \1:引用自左向右的第一個括號以及與之對應的又括號中的內容

    • *:其左側的字符出現任意次

    • .*:任意長度任意字符

    • \?:其左側的字符出現0次或1此

    • \+:其左側的字符出現1次或多次

    • \{m\}:精確匹配其左側的字符出現m此

    • \{m,n\}:匹配其左側字符至少出現m次,至多出現n次

    • .:匹配任意單個字符

    • []:匹配指定範圍內的任意單個字符

    • [^]:匹配指定範圍外的任意單個字符的

  • 練習如下:

    • 找出/proc/meminfo文件中以大寫S或小寫s開頭的行:

    • 顯示/etc/passwd文件中其默認shell爲非/sbin/nologin的用戶及默認shell

    • 顯示/etc/passwd文件中的一位數或兩位數(不包括三位及三圍以上數字)

    • 顯示/boot/grub/grub.conf文件中至少以一個空白字符開頭且後跟i字符的行

    • 找出系統上其用戶名和默認shell相同的用戶的信息

    • d


    • grep --color=auto "[^sS]" /proc/meminfo
    • grep "^\([[:alnum:]]\>\).*\1$" /etc/passwd

    • grep "^[[:space:]]\+i" /boot/grub/grub.conf

    • grep "\<[0-9]\{1,2\}\>" /etc/passwd

    • grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1,7



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章