第三章 shell學習之Regex

來源:互聯網
上載者:User

標籤:shell Regex

Regex

\<the\>:精確匹配the,不包括包含the的單詞

[^b-d]:不包含b~d

a\{2\}:a出現2次

a\{2,3\}:a出現2~3次

a\{2,\}:a至少出現2次

[:upper:]:大寫字母(用的時候外面加一層[]表示匹配字元集合)

[:lower:]:小寫字母

[:digit:]:數字

[:alnum:]:大小寫字母和數字

[:space:]:表示空格或tab鍵

[:alpha:]:大小寫字母

通配

注意通配和Regex不同,雖然有共同的符號

ls -l *.sh

匹配出以.sh結尾的檔案,而*在Regex中表示0個或多個前面的字元

ls -l 0?.sh

匹配以0開頭,且後面跟一個字元,以.sh結尾的檔案,而?在擴充Regex中表示0個或1個前面的字元

[]和[^]的用法和Regex相同

grep

文本搜尋工具

grep [選項] [模式] [檔案]

-c 只輸出匹配韓的數量

-i 忽略大小寫

-l 只列出符合匹配的檔案名稱,不列出具體的匹配行

-n 列出所有的匹配行,並顯示行號

-s 不顯示不存在或無匹配文本的錯誤資訊

-r 遞迴搜尋,不僅搜尋當前工作目錄,還搜尋子目錄

-q 禁止輸出任何結果,以退出狀態表示搜尋是否成功

-E 支援擴充的Regex

-F 不支援Regex,按照字串的字面意思進行匹配

-h 查詢多檔案時不顯示檔案名稱

-b 列印匹配行距頭部的位移量,以位元組為單位,如果與-o結合則為匹配單詞距頭部的位移量

-w 匹配整詞,即不把模式的Regex元字元解釋成特殊含義,如cer*就是cer*

-x 匹配整行,即如果匹配word*,則這行字能為word*才算匹配

注意:如果模式有空格則要用引號;檔案名稱可以用萬用字元(注意不是Regex);開頭的-也要加\進行轉移(以為-選項)


本文出自 “flyclc” 部落格,請務必保留此出處http://flyclc.blog.51cto.com/1385758/1540161

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.