欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          全面詳解linux下grep命令的用法

          學(xué)linux系統(tǒng),grep這個(gè)命令是必須要掌握的。grep命令是用來(lái)查找文件或標(biāo)準(zhǔn)輸出中匹配的行,它的強(qiáng)大之處在于它支持正則表達(dá)式。日常工作中,grep絕對(duì)是用的最多的命令之一。

          注:本文只介紹grep的用法,關(guān)于正則表達(dá)式不做介紹。

          下面來(lái)看看它的一些常見(jiàn)選項(xiàng)以及含義:

          選項(xiàng)

          • -i 搜索時(shí)候忽略大小寫

          • -n 列出所有的匹配行,顯示行號(hào)

          • -v 反向選擇

          • -c 只輸出匹配行的數(shù)量

          • -l 只列出符合匹配的文件名,不列出具體的匹配行

          • -h 查詢多文件時(shí)不顯示文件名

          • -r 遞歸搜索

          • -q 禁止輸出任何結(jié)果,已退出狀態(tài)表示搜索是否成功

          • –color=auto 將找到的關(guān)鍵字加上顏色顯示

          • -E, –extended-regexp PATTERN 是一個(gè)可擴(kuò)展的正則表達(dá)式(縮寫為 ERE)

          • -B, –before-context=NUM 打印以文本起始的NUM 行

          • -A, –after-context=NUM 打印以文本結(jié)尾的NUM 行

          下面來(lái)介紹grep的一些用法:

          我們知道php.ini有一個(gè)時(shí)區(qū)的配置,具體的不太清楚,只知道timezone,現(xiàn)在我們想找到該配置信息,就可以使用grep來(lái)查找

          # 加上-i選項(xiàng),忽略大小寫 # grep -i timezone /usr/local/php/etc/php.ini  ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = PRC

          grep支持在多個(gè)文件中查找

          # 這里我們加上-n選項(xiàng),輸出文件的行號(hào) # grep -in stdio itoa.c quicksort.c  itoa.c:2:#include <stdio.h> quicksort.c:1:#include <stdio.h>

          反向選擇的-v使用,當(dāng)我運(yùn)行了一個(gè)程序,想要看看這個(gè)程序是否還存在進(jìn)程中,可以使用下面的方法

          # ps aux | grep curl.php  root     14374 98.3  1.2 277844 12396 pts/0    R+   07:54   1:07 php curl.php root     14404  0.0  0.0 112664   984 pts/2    R+   07:55   0:00 grep --color=auto curl.php

          這里就有個(gè)問(wèn)題,我們需要使用-v來(lái)過(guò)濾掉grep本身的進(jìn)程

          # ps aux | grep curl.php | grep -v grep  root     14374 98.5  1.2 277844 12396 pts/0    R+   07:54   2:36 php curl.php

          我們想統(tǒng)計(jì)last命令中含root的行數(shù),那么這里就需要用到-c選項(xiàng)了。

          # last | grep -c root 353

          經(jīng)常有這種需求,需要批量替換文件中的某文本,那么怎么知道這些文本在哪幾個(gè)文件中呢。grep可以做到,配合-l選項(xiàng)

          # find . -type f -exec grep -l define {} ; ./find.c ./itoa2.c ./wc.c ./test.c ./wordcnt.c ./longestline.c ./cal.c ./sortline2.c ./sortline.c ./found.c ./atof.c

          下面再看一個(gè)例子,該例子用到了-E擴(kuò)展正則,我們想要過(guò)濾掉php.ini文件中的注釋行以及空白行

          grep -vE '^;|^$' /usr/local/php/etc/php.ini

          還有一個(gè)常用的選項(xiàng)-r,它可以用來(lái)遞歸查找當(dāng)前目錄下所有文件,以及子目錄文件。下面,我們想查看網(wǎng)站目錄下還有footer的文件有哪些,可以用下面的命令來(lái)查找

          grep -rn footer ./

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)