天天看點

Linux:grep和管道符

作為和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
           

繼續閱讀