天天一個linux命令(45):grep 命令

Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。java

grep的工做方式是這樣的,它在一個或多個文件中搜索字符串模板。若是模板包括空格,則必須被引用,模板後的全部字符串被看做文件名。搜索的結果被送到標準輸出,不影響原文件內容。linux

grep可用於shell腳本,由於grep經過返回一個狀態值來講明搜索的狀態,若是模板搜索成功,則返回0,若是搜索不成功,則返回1,若是搜索的文件不存在,則返回2。咱們利用這些返回值就可進行一些自動化的文本處理工做。正則表達式

實例1:查找指定進程shell

ps -ef|grep svn

實例2:查找指定進程個數ssh

ps -ef|grep svn -c

實例3:從文件中讀取關鍵詞進行搜索svn

cat test.txt | grep -f test2.txt

實例3:從文件中讀取關鍵詞進行搜索 且顯示行號工具

cat test.txt | grep -nf test2.txt

實例5:從文件中查找關鍵詞spa

grep 'linux' test.txt

實例6:從多個文件中查找關鍵詞code

grep 'linux' test.txt test2.txt

實例7:grep不顯示自己進程orm

ps aux | grep ssh | grep -v "grep"

實例8:找出已u開頭的行內容

cat test.txt |grep ^u

實例9:輸出非u開頭的行內容

cat test.txt |grep ^[^u]

實例10:輸出以hat結尾的行內容

cat test.txt |grep hat$

實例12:顯示包含ed或者at字符的內容行

cat test.txt |grep -E "ed|at"
相關文章
相關標籤/搜索