Linux:grep和管道符


grep

grep作用是在文件中提取和匹配符合條件的字符串行。

grep [選項] "搜索內容" 文件名
選項:
	-i 忽略大小寫
	-n 輸出行號
	-v 反向查找
	--color=auto 搜索出的關鍵字用顏色顯示

image-20200920131442858

和find區別

  • find:用於搜索符合條件的文件名,如果需要模糊查詢,可以使用通配符,-regex選項也支持正則(equals)
  • grep:用於在文件中搜索符合條件的字符串,如果需要模糊查詢,可以使用正則(contains)

通配符

用於匹配文件名,完全匹配

  • ? 匹配一個任意字符
  • * 匹配0個或者任意多個字符
  • [] 匹配括號中的任意一個字符,如[ab],或者是a,或者是b
  • [-] 匹配括號中任意一個字符,-代表一個范圍,[a-z]代表匹配一個小寫字母
  • [^] 邏輯非,表示匹配不是括號內的一個字符,[^0-9]代表匹配一個不是數字的字符

image-20200920132411861

正則表達式

用於匹配字符串

  • ? 匹配前一個字符重復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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM