作為和awk、sed齊名的grep文本操作,學好grep是很有必要的,當然,管道符也很重要
grep
grep作用是在檔案中提取和比對符合條件的字元串行。
grep [選項] “搜尋内容” 檔案名
選項:
- -i 忽略大小寫
- -n 輸出行号
- -v 反向查找
- –color=auto 搜尋出的關鍵字用顔色顯示
find
find:用于搜尋符合條件的檔案名,如果需要模糊查詢,可以使用通配符,-regex選項也支援正則(equals)
grep:用于在檔案中搜尋符合條件的字元串,如果需要模糊查詢,可以使用正則(contains)
用于比對檔案名,完全比對
- ? 比對一個任意字元
-
- 比對0個或者任意多個字元
- [] 比對括号中的任意一個字元,如[ab],或者是a,或者是b
- [-] 比對括号中任意一個字元,-代表一個範圍,[a-z]代表比對一個小寫字母
- [^] 邏輯非,表示比對不是括号内的一個字元,[^0-9]代表比對一個不是數字的字元
通配符
用于比對字元串
- ? 比對前一個字元重複0次,或一次
-
- 比對前一個字元重複0次,或任意多次(隻寫一個字元加星号,是沒有意義的)
- [] 比對括号中的任意一個字元,如[ab],或者是a,或者是b
- [-] 比對括号中任意一個字元,-代表一個範圍,[a-z]代表比對一個小寫字母
- [^] 邏輯非,表示比對不是括号内的一個字元,[^0-9]代表比對一個不是數字的字元
- ^ 比對行首
- $ 比對行尾
管道|
指令格式:
指令1 | 指令2
表示 指令1的正确輸出作為指令2的操作對象。有點像find指令中的-exec選項
管道符是文本流,命名1的運作結果儲存在臨時檔案中。(簡單了解)
舉例:分屏顯示/etc下面的檔案
ll /etc | more
顯示/etc/下面所有包含yum的檔案
ll /etc | grep yum
顯示具體網絡連接配接數量
netstat -an | grep -i established | wc -l