1. 程式人生 > 其它 >linux三劍客之grep 文字過濾器

linux三劍客之grep 文字過濾器

Linux 三劍客之grep

三劍客之一:grep 

定義: 文字過濾器: 根據文字內容過濾檔案。
    
語法格式 :grep 引數 匹配規則 操作物件

引數: 
	-n :過濾文字時,將過濾出來的內容在檔案內的行號顯示出來
	
	-A n:匹配成功之後,將匹配行的後n行顯示出來
				例:[root@localhost ~]# grep -n -A 2 'asdwq' 1.txt 
				
	-B n:匹配成功之後,將匹配行的前n行顯示出來
	
	-C n:匹配成功之後,將匹配行的前後n行都顯示出來
	
	-c :只顯示匹配成功的行數 (匹配成功5行 之列印  5)
	
	-o :只顯示匹配成功的內容 其餘在同行的內容不顯示
	
	-v :反向過濾
				例:匹配除了存在asdwq的行 	
						[root@localhost ~]# grep -n -v 'asdwq' 1.txt 
	-q :靜默輸出
				# 不打印出來但是已經匹配成功
	
	-i :忽略大小寫
	
	-l :匹配成功之後,將文字的名稱打印出來
	
	-R/-r :遞迴匹配
			如果是資料夾匹配的話不遞迴匹配會報錯。
			
			例:查詢/etc下包含root的檔案 :grep -rl 'root' /etc 
				
	
	-E :使用拓展正則 grep -E 等價於 egrep
	
知識儲備:

	$? :上一行命令執行的結果,如果返回0則上一條執行成功,其他數字則代表失敗
	
	wc :匹配行數
		引數:
			-l :列印匹配的行數
			-c :列印匹配的位元組數
			
在/etc目錄下,有多少個檔案包含root。
	grep -rl 'root' /etc/ | wc -l