linux學習筆記-第十二課-Shell指令碼之Regex(一)

來源:互聯網
上載者:User

標籤:linux   字串   運算式   單詞   file   

一、grep,egrep,fgrep

       1)grep

       格式:grep [選項] [模式] [檔案名稱]

       常用選項:-n:顯示行號和匹配的行

                        -v:反向匹配

                        -c:不顯示匹配的行,只顯示匹配的行數

                        -i:忽略大小寫

                        -r:遞迴搜尋

                        -E:支援擴充Regex

                        -P:支援PerlRegex

                        -F:不支援Regex,將模式按字面意義匹配

        樣本:

      

grep樣本
說明
grep ‘\<Tom>\‘ file
顯示包含單詞Tom的行
grep ‘Tom Jerry‘ file
顯示包含‘Tom Jerry’的行
grep ‘^Tommy‘ file
顯示以Tommy字串開始的行
grep ‘\.bak$‘ file
顯示行的末尾以.bak結束的行
grep ‘[Pp]hoto‘ *
顯示當前工作目錄的所有檔案名稱中包含photo或Photo的檔案名稱
grep ‘[A-Z]‘ file
顯示至少包含1個大寫字母的行
grep ‘[0-9]‘ file
顯示至少包含1個數位行
grep ‘[A-Z]...[0-9]‘ file
顯示以大寫字母開始、以數字結束的5個字串模式的行
grep -w ‘[tT]est‘ file
顯示包含但是Test和test的行
grep -s ‘TY Kim‘ file 搜尋包含‘TY Kim‘的行,但是不顯示在螢幕
grep -v ‘Jerry‘ file 顯示不包含‘Jerry‘的所有行
grep -i ‘sam‘ file 忽略大小寫字母,顯示所有包含sam的行
grep -l ‘Dear Boss‘ * 顯示包含‘Dear Boss‘的所有檔案目錄
grep -n ‘Tom‘ file 顯示包含Tom的行,同時顯示行號
grep "$name" file 顯示所有擁有name變數值的行。使用變數時必須使用雙引號(" ")
grep ‘$5‘ file
顯示包含‘$5‘字元的行。單引號內的$字元被識別為其本身
ps aux | grep ‘^*multi‘
將ps的顯示結果通過管道符和grep串連,顯示行首有空格並包含multi的所有行


       2)egrep

       egrep是grep的擴充,可以使用其他的萬用字元

       +:有1個以上的字元

       ?:有0個或1個字元

        a|b:匹配a或b的字元

        ():字元組


       3)fgrep

        類似於grep,將特殊字元及$字元識別為其本身


二、sed

       非互動式文字檔編輯器

       常用選項:

       -n:取消預設輸出

       -e:允許執行多個指令碼

       -i:直接修改原始檔案

       -r:使用擴充Regex

       樣本:

sed樣本
含義
8d
刪除輸入的第8行
/^$/d
刪除所有空行
1,/^$/d
從第一行起 刪除直到 發現空行
/Jones/p
只顯示包含“Jones”的行(使用-n選項)
s/Windows/Linux/
在輸入的各行用“Linux”替換第一次出現的“Windows”
s/Windows/Linux/g 在輸入的各行用“Linux”替換每次出現的“Windows”
s/*$//
刪除所有行尾出現的空格
s/00*/0/g
以0替換所有連續出現的0
/GUI/d
刪除包含“GUI”的所有行
s/GUI//g
在輸入的各行刪除“GUI”三個字元

       



本文出自 “MyLinux” 部落格,請務必保留此出處http://mylinuxlife.blog.51cto.com/4706737/1631181

linux學習筆記-第十二課-Shell指令碼之Regex(一)

相關文章

聯繫我們

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