- 查找文本工具grep
- grep是global regular expression print(全局正則表達式打印)的縮寫。
- grep工作時,總是以行為單位查找。首先將文本的第1行讀入緩陣區并執行查找,如果找到到匹配的字符串,則輸出整行。
- 常用的選項
- i:忽略大小寫。
- n:將結果輸出的同時,也輸出該行的行號。
- s:在沒有查找到匹配的內容時,不顯示錯誤信息。
- l:從多個文件中查找時,只輸出找到匹配內容的文件名稱。
- h:從多個文件中查找時,只輸出匹配的內容,不顯示文件名稱。
- c:只輸出匹配內容的總行數
- v:反轉查找,即輸出匹配內容以外的行。
- 範例:
- grep "canred" students
- grep -n "canred" students
- grep -c "canred" students
- grep -i "CanRed" students
- grep -vi "canred" students | grep -vi "eva"
- 多文件查找
- grep -l "root" /etc/*
- 顯示/etc目錄中所有包含有root的文件名
- grep -h "root" /etc/passwd /etc/shadow
- 使用grep在命令輸出中查找
- echo "Welcome to Taiwan" | grep "Taiwan"
- 使用grep在變量中查找
- A="Welcome to Taiwan"
- echo $A | grep "Taiwan"
- 行首,行尾匹配查找
- grep '^canred' students
- grep 'canred$' students
- 正則表達式查找
- grep '/9[0-9]' students
- grep 'c\{3,\}' students
- grep 'canred\{2\}p$' students
- ls -l | grep '\.txt$'
- 使用或、與多匹配模式查找
- grep -E 'Canred|Eva' students
- 上面是 或
- grep 'Canred' students | grep "Eva"
- 上面是 and ;2者是不一樣的結果
- grep工具有一個很多的類似的方法如egrep、fgrep、agrep…etc
2013年3月9日 星期六
grep指令
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言