grep (global search regular expression(re) and print out the line,全面搜尋正規表示式並把行列印出來)是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。
unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴充套件,支援更多的re元字元, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正規表示式中的元字元表示回其自身的字面意義,不再特殊。linux使用gnu版本的grep。它功能更強,可以通過-g、-e、-f命令列選項來使用egrep和fgrep的功能。
[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 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 會有特殊顏色來表示之外,最前面還有行號喔!
在關鍵字的顯示方面,grep 可以使用 --color=auto 來將關鍵字部分使用顏色顯示。 這可是個很不錯的功能啊!但是如果每次使用 grep 都得要自行加上 --color=auto 又顯的很麻煩~ 此時那個好用的 alias 就得來處理一下啦!你可以在 ~/.bashrc 內加上這行:『alias grep=『grep --color=auto』』再以『 source ~/.bashrc 』來立即生效即可喔! 這樣每次執行 grep 他都會自動幫你加上顏色顯示
用 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'行的檔案,但是不顯示匹配的行,只顯示匹配的檔案
十二 Git基礎命令彙總
git基礎命令使用方法彙總 mkdir learngit 建立名字為learngit的空目錄 cd learngit 進入到learngit目錄中 pwd 顯示當前目錄的具體路徑 touch test 建立乙個名為test的txt文字 git init 初始化當前目錄 ls ah 顯示隱藏的檔案 g...
Linux基礎(十二)
進入linux字元介面方式有字元介面 圖形介面下的終端以及虛擬控制台等方式。在字元介面下,虛擬控制台的選擇可以通過按下 alt 鍵和1個功能鍵來實現,功能鍵通常為f1 f6鍵。比如使用者登入後,按下 alt f2 鍵,使用者可以看 login 提示符,說明使用者進入了第2個虛擬控制台。然後只需利用按...
(十二)命令模式
命令模式 command 將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶進行引數化 對請求排隊或記錄請求日誌,以及支援可撤銷的操作。dp 第一 比較容易地設計乙個命令佇列 第二 在需要的情況下,可以較容易地將命令記入日誌 第三 允許接收請求的一方決定是否要否決請求 第四 可以容易地實現對請求...