1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      linux命令之grep

      更新時間: 2014-09-09 09:52:37來源: 粵嵌教育瀏覽量:2922

      一、            簡介

      grep (global search regular expression(RE) and print out the line),全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。

      Unixgrep家族包括grepegrepfgrepegrepfgrep的命令只跟grep有很小不同。egrepgrep的擴展,支持更多的re元字符, fgrep就是fixed grepfast grep,它們把所有的字母都看作單詞,也就是說,正則表達式中的元字符表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強,可以通過-G-E-F命令行選項來使用egrepfgrep的功能

       

      二、            grep 常用用法

      1、   在文件中搜尋某個字符串

      [root@www ~]# grep [-acinv] [--color=auto] '搜尋字符串' filename

      選項與參數:

      -a :將 binary 文件以 text 文件的方式搜尋數據

      -c :計算找到 '搜尋字符串的次數

      -i :忽略大小寫的不同,所以大小寫視為相同

      -n :順便輸出行號

      -v :反向選擇,亦即顯示出沒有 '搜尋字符串內容的那一行!

      --color=auto :可以將找到的關鍵詞部分加上顏色的顯示喔!

       

      2、   etc/passwd,有出現root的行取出來

      # grep root /etc/passwd

      root:x:0:0:root:/root:/bin/bash

      operator:x:11:0:operator:/root:/sbin/nologin

      # cat /etc/passwd | grep root 

      root:x:0:0:root:/root:/bin/bash

      operator:x:11:0:operator:/root:/sbin/nologin

       

      3、  /etc/passwd,有出現 root 的行取出來,同時顯示這些行在/etc/passwd的行號

      # grep -n root /etc/passwd

      1:root:x:0:0:root:/root:/bin/bash

      30:operator:x:11:0:operator:/root:/sbin/nologin

      在關鍵字的顯示方面,grep 可以使用 --color=auto 來將關鍵字部分使用顏色顯示。 這可是個很不錯的功能啊!但是如果每次使用 grep 都得要自行加上 --color=auto 又顯的很麻煩~ 此時那個好用的 alias 就得來處理一下啦!你可以在 ~/.bashrc 內加上這行:『alias grep='grep --color=auto'』再以『 source ~/.bashrc 』來立即生效即可喔! 這樣每次運行 grep 他都會自動幫你加上顏色顯示啦

       

      4、   /etc/passwd,將沒有出現 root 的行取出來

      # grep -v root /etc/passwd

      bin:x:1:1:bin:/bin:/sbin/nologin

      daemon:x:2:2:daemon:/sbin:/sbin/nologin

       

      5、  /etc/passwd,將沒有出現 root nologin的行取出來

      # grep -v root /etc/passwd | grep -v nologin

      sync:x:5:0:sync:/sbin:/bin/sync

      shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

       

      6、   dmesg 列出核心信息,再以 grep 找出內含 eth 那行,要將捉到的關鍵字顯色,且加上行號來表示:

      [root@www ~]# dmesg | grep -n --color=auto 'eth'

      247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10

      248:eth0: Identified 8139 chip type 'RTL-8139C'

      294:eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1

      305:eth0: no IPv6 routers present

      你會發現除了 eth 會有特殊顏色來表示之外,前面還有行號喔!

       

      7、   dmesg 列出核心信息,再以 grep 找出內含 eth 那行,在關鍵字所在行的前兩行與后三行也一起捉出來顯示

      [root@www ~]# dmesg | grep -n -A3 -B2 --color=auto 'eth'

      245-PCI: setting IRQ 10 as level-triggered

      246-ACPI: PCI Interrupt 0000:00:0e.0[A] -> Link [LNKB] ...

      247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10

      248:eth0: Identified 8139 chip type 'RTL-8139C'

      249-input: PC Speaker as /class/input/input2

      250-ACPI: PCI Interrupt 0000:00:01.4[B] -> Link [LNKB] ...

      251-hdb: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)

      如上所示,你會發現關鍵字 247 所在的前兩行及 248 后三行也都被顯示出來!

      這樣可以讓你將關鍵字前后數據捉出來進行分析啦!

       

      8、  根據文件內容遞歸查找目錄

      # grep energywise *           #在當前目錄搜索帶'energywise'行的文件

      # grep -r energywise *        #在當前目錄及其子目錄下搜索'energywise'行的文件

      # grep -l -r energywise *     #在當前目錄及其子目錄下搜索'energywise'行的文件,但是不顯示匹配的行,只顯示匹配的文件

       

      以上命令在查找字符串的過程中,經常使用,非常方便。

       

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲成a人片在线免费观看 午夜色福利久久免费 | 午夜性色在线观看视频 | 中文字幕在线播放你懂的 | 在线免费观看的三级网站 | 夜夜操国产视频91 | 亚洲午夜国内自产拍在线观看 |