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"