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 "美女您好"
訂閱:
文章 (Atom)
標籤
- 大盤 (6)
- 未分類資料夾 (2)
- 英文 (28)
- 書刊雜誌 (11)
- Perl (25)
- TCL (10)
- Uncategoried (1)
- UNIX Linux (43)