2024年1月28日 星期日

正規化表示

https://ithelp.ithome.com.tw/articles/10251882 Day 25 正規化表示 在做搜尋條件的時候,有時候想找尋某個檔案,但只記得他的內容關鍵字,這時候正規表示法就非常方便,下關鍵字達到找尋最接近的結果。 grep 全名為 global regular expression print。 [root@localhost ~]# grep [參數] [關鍵字] [檔案或目錄] 參數 -A [行數] (After)顯示符合的那一行,同時顯示該行之後的內容。 -a 以二進位的檔案作為搜尋。 -B [行數] (Before)顯示符合的那一行,同時顯示該行即之前的內容。 -b 顯示符合條件的結果,總共多少 bytes。 -C [行數] (Context)顯示符合的那一行及前後內容。 -c 顯示符合條件的總行數。 -d [動作] 查詢目錄(忽略檔案)。 -E (Extend)使用正則表示式搜尋。 -e [符合條件的內容] 指定搜尋的檔案,通常用在避免partern用-開始。 -F 符合條件的內容作為固定字串的列表。 -f [範本檔案] 指定符合條件的內容,並且將每一行套用樣式。 -G 將樣式視為基本的正規表示法。 -H 在每個符合樣式的行,前面加上符合的檔案名稱或路徑。 -h 同 -H ,但輸出不顯示路徑。 -i (ignore case)不區分大小寫。 -L 不符合條件內容的檔案名稱。 -l 符合條件內容的檔案名稱。 -n (number)顯示符合條件的行數及路徑。 -o 顯示被模式比對到的條件。 -q 不顯示任何結果。 -r 遞迴,讀取每個目錄底下的檔案,同 -d recsuse。 -s 不顯示錯誤訊息或無法讀取的訊息。 -V (Version) 顯示 grep 版本資訊。 -v (recursive)顯示不符合條件的結果。 -w 只顯示文字完全符合的結果。 -x 只顯示全列都符合的列 --help 尋求幫助。 正規表示法特殊字符 正規表示法中的特殊符號,與原意思不相同,他們都有各自使用方式。 特殊符號 說明 ^ 搜尋規則前的「起頭」。意思代表「非」。 $ 搜尋規則後的「結尾」。 . 任意一個字元。 * 任意字元或任意字串,長度可以為0 .* 一起使用代表任意字串。 跳脫字符,將字串中特殊符號的動作去除。 + 一個或多個重複字元 ? 匹配正則表達式的結束行 (n,m) 連續 n 個 到 m個的字串。 < 從比對正則表達式的行開始。 > 到比對正則表達式的行結束。 [] 比對範圍內的字元或字串。 [^] 比對不再指定範圍內的字元。 [-] 範圍 ;如[A-Z]即A,B,C一直到Z都符合要求 國際模式比對字符 特殊符號 代表意義 [:alnum:] 英文大小寫字元及數字,亦即 0-9, A-Z, a-z [:alpha:] 任何英文大小寫字元,亦即 A-Z , a-z [:blank:] 空白鍵與 [Tab] 按鍵兩者 [:cntrl:] 鍵盤上面的控制按鍵,亦即包括 CR, LF, Tab, Del.. 等等 [:digit:] 數字而已,亦即 0-9 [:graph:] 除了空白字元 (空白鍵與 [Tab] 按鍵) 外的其他所有按鍵 [:lower:] 小寫字元,亦即 a-z [:print:] 任何可以被列印出來的字元 [:punct:] 標點符號 (punctuation symbol),亦即:" ' ? ! ; : # $... [:upper:] 大寫字元,亦即 A-Z [:space:] 任何會產生空白的字元,包括空白鍵, [Tab], CR 等等 [:xdigit:] 16 進位的數字類型,因此包括: 0-9, A-F, a-f 的數字與字元 實際操作 多檔案或目錄搜尋 [root@localhost ~]# grep [參數] [關鍵字] [檔案或目錄1] [檔案或目錄2] [檔案或目錄3] ... 搜尋的關鍵字,以顏色特別標註 --color [root@localhost ~]# grep [參數] [關鍵字] --color [檔案或目錄] 遞迴尋找 root 目錄下的檔案,須符合 美女的字串。 [root@localhost ~]# grep -r "美女" /root/ /root/demo.sh: echo "美女您好"

標籤