8.3 類名
g r e p允許使用國際字符模式匹配或匹配模式的類名形式。
現(xiàn)舉例說明其使用方式。要抽取產(chǎn)品代碼,該代碼以 5開頭,后跟至少兩個大寫字母。使用的腳本如下:
使用通配符*的匹配模式
現(xiàn)在講述g r e p中通配符*的使用。現(xiàn)有文件如下:
8.4 系統(tǒng)grep命令
使用已學過的知識可以很容易通過 g r e p命令獲得系統(tǒng)信息。下面幾個例子中,將用到管道命令,即符號|,使用它左邊命令的輸出結(jié)果作為它右邊命令的輸入。
8.4.1 目錄
8.4.2 passwd文件
大家可以看到"____"上的內(nèi)容是一樣的,我們知道"選擇"這個腳本命令只能選擇帶下劃線的內(nèi)容.對于這樣的對話, 利用"選擇"這個腳本命令有點力不從心,這個時候就可以用到"選擇_加強"命令.選擇_加強命令首先是文字匹配,然后取出匹配文字中包含的命令發(fā)送,因此 選擇的內(nèi)容不限定于下劃線的內(nèi)容.選擇_加強[等于1]是合法的,可以執(zhí)行的.。將一個命令的執(zhí)行結(jié)果放在一個腳本變量中的能力是相當強大的,因為這樣就可以很容易的在腳本中使用現(xiàn)在的命令并取得他們的輸出.如果你發(fā)現(xiàn)在你正在試著轉(zhuǎn)換一個標準命令在標準輸出上的輸出結(jié)果的參數(shù)集合并將他們作為一個程序的參數(shù),你就會發(fā)現(xiàn)命令xargs會幫助你完成這一切.可以查看手冊頁得到更深更詳細的內(nèi)容.。2003年10月:支持相機 raw 2.x ,highly modified "slice tool",陰影/高光 命令,顏色匹配命令,"鏡頭模糊" 濾鏡,實時柱狀圖,detection and refusal to print scanned images of various banknotes,使用safecast的drm復制保護技術(shù),支持javascript腳本語言及其他語言 cs2 mac os x, windows 空間猴子。
上述兩個例子并不算好,因為這里的目的只想知道查詢是否成功。本書后面部分將討論g r e p命令的e x i t用法,它允許查詢并不成功返回。
如要保存g r e p命令的查詢結(jié)果,可將命令輸出重定向到一個文件。
腳本將輸出重定向到目錄 / t m p下文件p a s s w d . o u t中。
8.4.3 使用ps命令
使用帶有ps x命令的g r e p可查詢系統(tǒng)上運行的進程。 ps x命令意為顯示系統(tǒng)上運行的所有進程列表。要查看D N S服務器是否正在運行(通常稱為 n a m e d),方法如下:
輸出也應包含此 g r e p命令linux命令,因為g r e p命令創(chuàng)建了相應進程, ps x將找到它。在 g r e p命令中使用- v選項可丟棄p s命令中的g r e p進程。
8.4.4 對一個字符串使用grep
g r e p不只應用于文件,也可應用于字符串。為此使用 e c h o字符串命令,然后對 g r e p命令使用管道輸入。
8.5 egrep
e g r e p代表e x p r e s s i o n或extended grep,適情況而定。 e g r e p接受所有的正則表達式, e g r e p的一個顯著特性是可以以一個文件作為保存的字符串,然后將之傳給 e g r e p作為參數(shù),為此使用- f開關(guān)。如果創(chuàng)建一個名為 g r e p s t r i n g s的文件,并輸入4 8 4和4 7:
上述腳本匹配d a t a . f中包含4 8 4或4 7的所有記錄。當匹配大量模式時, - f開關(guān)很有用,而在一個命令行中敲入這些模式顯然極為繁瑣。
如果要查詢存儲代碼 3 2 L或2 C C,可以使用(|)符號linux命令,意即“|”符號兩邊之一或全部。
可以使用任意多豎線符“|”,例如要查看在系統(tǒng)中是否有帳號 l o u i s e、 m a t t y或pauline ,使用w h o命令并管道輸出至e g r e p。
還可以使用 ^符號排除字符串。如果要查看系統(tǒng)上的用戶,但不包括 m a t t y和p a u l i n e,方法如下:
如果要查詢一個文件列表,包括 s h u t d o w n、 s h u t d o w n s、 r e b o o t和r e b o o t s,使用e g r e p可容易地實現(xiàn)。