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