国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linuxgrep命令學(xué)習(xí)與總結(jié)

    linuxgrep命令學(xué)習(xí)與總結(jié)

    時(shí)間: 志藝942 分享

    linuxgrep命令學(xué)習(xí)與總結(jié)

      grep命令是linux中強(qiáng)大的文本搜索工具,那么grep取名是怎么來的呢?接下來是小編為大家收集的linuxgrep命令學(xué)習(xí)與總結(jié),歡迎大家閱讀:

      linuxgrep命令學(xué)習(xí)與總結(jié)

      -、grep簡述

      grep命令是linux中強(qiáng)大的文本搜索工具,那么grep取名是怎么來的呢?

      grep : g (globally) search for a re (regular expression) and p (print ) the results

      從上面的英文解釋中可以看出,grep命令使用正則表達(dá)式搜索文本,并把匹配的行打印出來

      二、grep使用格式

      grep [OPTION]... PATTERN [FILE]...

      三、OPTION

      -i:匹配時(shí)不區(qū)分大小寫進(jìn)行匹配。

      -w:匹配時(shí)只匹配整個(gè)單詞,而不是字符串的一部分(如PATTERN='she'時(shí)匹配單詞she,而不匹配shell)

      -h:輸出時(shí)每行行首不顯示文件名。

      -H:輸出時(shí)每行行首顯示文件名。

      -n:輸出時(shí)每行顯示行號(hào)。

      -c:輸出時(shí)只顯示每個(gè)文件匹配行計(jì)數(shù)。

      -L:輸出時(shí)只顯示不包含匹配項(xiàng)的文件名。

      -l:輸出時(shí)只顯示包含匹配項(xiàng)的文件名。

      -o:輸出時(shí)每行只顯示匹配項(xiàng)內(nèi)容

      -s:忽略錯(cuò)誤信息。

      -v:逆向匹配,選擇不匹配的行。

      -A:After的意思,顯示匹配項(xiàng)后n行的數(shù)據(jù)

      -B:before的意思,顯示匹配項(xiàng)前n行的數(shù)據(jù)

      -C:顯示匹配字符串前后各n行的數(shù)據(jù)

      --color:以特定顏色高亮顯示匹配項(xiàng)內(nèi)容

      --color選項(xiàng)是個(gè)非常好的選項(xiàng),可以讓你清楚匹配上哪些字符。

      最好在自己的.bashrc文件中加入:

      alias grep='grep --color=auto'

      再以source .bashrc來立即生效即可這樣在每次grep搜索之后,自動(dòng)高亮匹配效果了。

      grep 'she' test.txt

      grep -i 'she' test.txt

      grep -c 'she' test.txt

      grep -in 'she' test.txt

      grep -v 'she' test.txt

      grep -w 'she' test.txt

      grep -o 'she' test.txt

      grep -C 2 'she' test.txt

      著重說下-o參數(shù)

      假如grep 'she' test.txt輸出為

      she is beautiful

      I like she

      則grep -o 'she' test.txt輸出為

      she

      she

      意思就是只顯示匹配項(xiàng)部分,行中其它部分不顯示

      另說明下,PATTERN是正則表達(dá)式,為了避免shell的元字符對(duì)正則表達(dá)式的影響,請(qǐng)用單引號(hào)('')括起來,不要用雙引號(hào)括起來("")或者不括起來。

      四、PATTERN

      4.1基本正則表達(dá)式

      \:轉(zhuǎn)義字符。

      ^:錨定行的開始。如:'^help'匹配以help開頭的行

      $:錨定行的結(jié)束。如:'help$'匹配以help結(jié)尾的行

      .:匹配任意一個(gè)非換行符的字符。如:'he.p'匹配help,heap等,但不能匹配hep

      *:前面的字符重復(fù)0到多次。如:'he*p'匹配hp,hep,heep等

      [list]:匹配字符集中的一個(gè)字符。如:'[hk]elp'匹配help,kelp

      [n1-n2]:匹配字符范圍中的一個(gè)字符。如:'[a-z]elp'匹配aelp,belp,...,zelp

      [^list]:匹配字符集以外的一個(gè)字符。如:'[^a-d]elp'不匹配aelp,belp,celp,delp??善ヅ鋏elp,help, elp等

      \{n1,n2\}:前面的字符重復(fù)n1-n2次。如:'h\{1,3\}elp'匹配help,hhelp,hhhelp。

      \<:錨定單詞的開始。如:'\

      \>:錨定單詞的結(jié)尾。如:'p\>'匹配以p結(jié)尾的單詞。匹配help,但不匹配person

      特別說明:^在PATTERN開始位置出現(xiàn)才表示錨定行的開始,其它位置出現(xiàn)只是作為^字符。

      例如:

      grep '^help' test.txt 表示匹配以help開頭的行

      grep 'help^' test.txt 表示匹配包含字符串help^的行

      同理,$在PATTERN末尾位置出現(xiàn)才表示錨定行的結(jié)束,其它位置出現(xiàn)只是作為$字符。

      PATTERN為'^$'表示空行,因?yàn)橹挥行惺缀托形?/p>

      \{n1,n2\}中n2可省略,表示前面字符重復(fù)n1至多次,重復(fù)次數(shù)不設(shè)上限

      4.2擴(kuò)展正則表達(dá)式

      grep一般情況下支持基本正則表達(dá)式,可以通過參數(shù)-E支持?jǐn)U展正則表達(dá)式,另外grep單獨(dú)提供了一個(gè)擴(kuò)展命令叫做egrep用來支持?jǐn)U展正則表達(dá)式,這條命令和grep -E等價(jià)。

      +:前面的字符重復(fù)1到多次。如:'he+p'匹配hep,heep,heeep等,但不匹配hp

      ?:匹配0或1次前面的字符。如:'he?p'匹配hp,hep

      |:或的方式匹配多個(gè)字串。如:'help|heap'匹配help,heap

      ():匹配整個(gè)括號(hào)內(nèi)的字符串。如:'(help)+'匹配help,helphelp等,注意與'help+'的區(qū)別

     
     看了“linuxgrep命令學(xué)習(xí)與總結(jié)”還想看:

    1.Linux文本匹配命令grep與fgrep使用全解

    2.講解Linux下grep命令的使用技巧

    3.Linux下如何使用grep命令搜索多個(gè)單詞

    4.Linux系統(tǒng)中怎么使用grep命令

    5.linux grep命令詳解

    2991780