grep命令應用

2021-04-18 14:06:28 字數 1650 閱讀 8706

linux kill多個程序的妙招--案例:kill(local=no)

經常需要kill多個程序,如果這些程序有共同的特點,就可以用一條命令kill掉它們。比如清除oracle資料庫的所有遠端連線程序:

ps -efww|grep local=no|grep -v grep|cut -c 9-15|xargs kill -9

管道符「|」用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令:

「ps -efww」是red hat 7.0裡檢視所有程序的命令。這時檢索出的程序將作為下一條命令「grep local=no」的輸入。

「grep local=no」的輸出結果是,所有含有關鍵字「local=no」的程序,這是oracle資料庫中遠端連線程序的共同特點。

「grep -v grep」是在列出的程序中去除含有關鍵字「grep」的程序。

「cut -c 9-15」是擷取輸入行的第9個字元到第15個字元,而這正好是程序號pid。

「xargs kill -9」中的xargs命令是用來把前面命令的輸出結果(pid)作為「kill -9」命令的引數,並執行該命令。「kill -9」會強行殺掉指定程序,這樣就成功清除了oracle的所有遠端連線程序。其它類似的任務,只需要修改「grep local=no」中的關鍵字部分就可以了。

使用grep命令可以在指定的目錄下搜尋指定的字串, 它會輸出匹配搜尋內容的檔案所在的那一行,

例如搜尋 /etc/passwd 裡面的字串 ricky, 則可輸入

$ grep ricky /etc/passwd

你也可以強制grep忽略大小寫, 例如 包含有ricky, ricky, ricky的檔案都會被搜出。

$ grep -i ricky /etc/passwd

搜尋指定目錄下的所有檔案和目錄

$ cd /etc $ grep -r "ricky" *(* 表示當前目錄下的所有目錄和檔案)

只搜尋單個詞

正常情況下, grep會搜尋出ricky123,123ricky等等包含有ricky的檔案, 如果你只想搜尋 ricky 單個詞, 則使用-w引數

$ grep -w "ricky" /etc/passwd

同時搜尋兩個不同的字串

使用以下命令:

$ grep -w 'ricky|rick' /patch/to/file

統計共搜尋到的出現次數

你可以統計一下出現這個字串總共出現的次數。

$ grep -c 'ricky' /path/to/file

你也可以讓grep輸出出現該字串所在的行數

$ grep -n 'ricky' /path/to/file

你也可以讓grep搜尋不包含你指定字串, 使用引數 -v

$ grep -v 'ricky' /patch/to/file

你也可以配合通道一起使用grep命令來輸出搜尋結果

$ cat /proc/cpuinfo | grep -i 'model'

diff和grep命令的簡單應用

diff,用來比較兩個檔案內容的差異 diff test3.cpp test4.cpp看結果,很容易理解 8c8 就是第乙個檔案的第8行 與第二個檔案的第8行開始不一樣 這個符號右邊的這一行是檔案一的 隔開 另乙個檔案的相對應的一行 diff這個命令裡面還有很多引數可以使用,有興趣的讀者可以去研究研...

grep命令介紹

grep print lines matching a pattern grep options pattern file.grep options e pattern f file file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,g...

grep命令總結

1.作用 grep命令可以指定檔案中搜尋特定的內容,並將含有這些內容的行標準輸出。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep options 3.主要引數 options 主要引數 c 只輸出...