linux文本處理三劍客之grep命令

linux文本處理三劍客之grep命令

1. grep命令的用法

作用:grep命令是一種強大的文本搜索工具,根據用戶指定的“模式”對目標文本進行匹配檢查,打印匹配到的行

模式:由正則表達式或者字符及基本文本字符所編寫的過濾條件

grep命令的基本用法:

參數 說明
-c 只輸出匹配行的數量
-i 搜索時忽略大小寫
-h 查詢多文件時不顯示文件名
-l 只列出符合匹配的文件名,而不列出具體的匹配行
-n 列出所有的匹配行並顯示行號
-s 不顯示不存在或無匹配文本的錯誤信息
-v 顯示不包含匹配文本的所有行
-w 匹配整詞
-x 匹配整行
-r 遞歸搜索,不僅搜索當前工作目錄,並且搜索子目錄
-q 禁止輸出任何結果,以退出狀態表示搜索是否成功
-b 打印匹配行距文件頭部的偏移量,以字節爲單位
-o 與-b選項結合使用,打印匹配詞距文件頭部的偏移量,以字節爲單位
-E 支持擴展的正則表達式
-F 不支持正則表達式,按照字符串的字面意思進行匹配

2. 使用舉例

例1:

grep root /etc/passwd	    #過濾文件中含有root的行
grep -c root /etc/passwd	#-c只輸出匹配行的數量
grep -n root /etc/passwd	#-n列出所有的匹配行並顯示行號
grep -v root /etc/passwd	#-v顯示不包含root的所有行
grep -vc root /etc/passwd	#-v顯示不包含root的所有行的數量

在這裏插入圖片描述
在這裏插入圖片描述
例2:

grep -i root passwd		#搜索時忽略大小寫
grep ro*t passwd		#應用正則表達式

在這裏插入圖片描述

例3:

grep root dd
grep -s root dd		#-s不顯示不存在或無匹配文本的錯誤信息

在這裏插入圖片描述

例4:

grep -r passwd /etc/		#-r遞歸搜索,不僅搜索當前工作目錄,並且搜索子目錄

在這裏插入圖片描述

例5:

grep roo* passwd
grep -w roo* passwd		#-w匹配整詞

在這裏插入圖片描述
在這裏插入圖片描述
例6:

grep -w World world.txt 
grep -x World world.txt 	#-x匹配整行

在這裏插入圖片描述

例7:

grep -q -x World world.txt 	      #-q禁止輸出任何結果,以退出狀態表示搜echo $?
echo $?                           #0表示正確搜到
grep -q -x 'World dd' world.txt 
echo $?                           #其它數字表示沒有搜到

在這裏插入圖片描述
例8:

grep -c ^$ passwd		    #搜索空白行,打印行數
grep -c ^[^$] passwd		#搜索非空行,打印行數

在這裏插入圖片描述

例9:

grep -n [Rr]oot passwd	#正則表達式 表示第一個字符可以是R或r後面三個字符爲oot

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章