grep (global search regular expression(re) and print out the line,全面搜尋正規表示式並把行列印出來)
[root@www ~]# grep [-acinv] [--color=auto] '搜尋字串' filename
選項與引數:
-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
將/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
將/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 他都會自動幫你加上顏色顯示啦
將/etc/passwd,將沒有出現 root 的行取出來
# grep -v root /etc/passwd
root:x:0
:0:root
:/root
:/bin/bash
operator:
x:11:0
:operator
:/root
:/sbin/nologin
將/etc/passwd,將沒有出現 root 和nologin的行取出來
# grep -v root /etc/passwd | grep -v nologin
root:x:0
:0:root
:/root
:/bin/bash
operator:
x:11:0
:operator
:/root
:/sbin/nologin
用 dmesg 列出核心資訊,再以 grep 找出內含 eth 那行,要將捉到的關鍵字顯色,且加上行號來表示:
[root@www ~]# dmesg | grep -n --color=auto 'eth'
247:eth0
:realtek
rtl8139 at 0xee846000, 00:90
:cc:a6:34
:84, irq
10248
:eth0
:identified
8139 chip type 'rtl-8139c'
294:eth0
: link up, 100mbps, full-duplex, lpa 0xc5e1
305:eth0
: no ipv6 routers present
# 你會發現除了 eth 會有特殊顏色來表示之外,最前面還有行號喔!
用 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 ***-rom ***-r-ram cd-r/rw drive, 2048kb cache, udma(66)
# 如上所示,你會發現關鍵字 247 所在的前兩行及 248 後三行也都被顯示出來!
# 這樣可以讓你將關鍵字前後資料捉出來進行分析啦!
根據檔案內容遞迴查詢目錄
# grep 『energywise』 * #在當前目錄搜尋帶'energywise'行的檔案
# grep -r 『energywise』 * #在當前目錄及其子目錄下搜尋'energywise'行的檔案
# grep -l -r 『energywise』 * #在當前目錄及其子目錄下搜尋'energywise'行的檔案,但是不顯示匹配的行,只顯示匹配的檔案
Linux grep命令用法
語法 grep options pattern file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,grep會將符合樣式的那一行列出。此外,還有兩個程式是grep的變化型,egrep及fgrep。其中egrep就等同於grep e fgr...
linux grep用法大全
原文 在unix中經常會用到grep去選取所需要的資訊,用好grep有時可以到達意想不到的效果。grep g globally search for a re regular expression r r and p print the results.1 引數 i 忽略大小寫 c 列印匹配的行數 ...
Linux grep命令用法
一直以為grep只能進行單個檔案的篩選,今天才發現,它可以進行多個檔案的篩選。這個功能真是太強大了。還是記錄一下吧。假設我要找乙個start kernel函式,但我不知道此函式在哪個檔案裡,於是可以用如下命令 grep wri start kernel 以下是一些其它的用法,也記錄一下,算是鞏固吧 ...