grep简单应用

grep
	grep  -m 3 /etc/passwd
		返回结果:
			root:x:0:0:root:/root:/bin/bash
			bin:x:1:1:bin:/bin:/sbin/nologin
			daemon:x:2:2:daemon:/sbin:/sbin/nologin
		解释:
			-m 3
				显示匹配指定行数,这里是三行
				
	
	grep -v nologin /etc/passwd
		返回结果
			root:x:0:0:root:/root:/bin/bash
			sync:x:5:0:sync:/sbin:/bin/sync
			shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
			halt:x:7:0:halt:/sbin:/sbin/halt
		解释
			-v
				取反,也是就不包含
				
	grep -i ROOT /etc/passwd
		返回结果:
			root:x:0:0:root:/root:/bin/bash
			operator:x:11:0:operator:/root:/sbin/nologin

		解释:
			-i 
				不区分大小写
	
	grep -n root /etc/passwd
		返回结果
			1:root:x:0:0:root:/root:/bin/bash
			10:operator:x:11:0:operator:/root:/sbin/nologin

		解释
			-n
				显示搜索出来的内容前面的行号
	
	grep -c nologin /etc/passwd
		返回结果
				17
		解释:
			-c
				统计搜索出来的内容的有多少行
				
				
	grep -o root /etc/passwd
		返回结果
			root
			root
			root
			root
		
		解释
			-o
				包含的内容列举出来
				
				
	-no结合使用
	grep -no root /etc/passwd
		返回结果
			1:root
			1:root
			1:root
			10:root
				
	grep -nA3 root /etc/passwd
		返回结果
			1:root:x:0:0:root:/root:/bin/bash
			2-bin:x:1:1:bin:/bin:/sbin/nologin
			3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
			4-adm:x:3:4:adm:/var/adm:/sbin/nologin
			--
			10:operator:x:11:0:operator:/root:/sbin/nologin
			11-games:x:12:100:games:/usr/games:/sbin/nologin
			12-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
			13-nobody:x:99:99:Nobody:/:/sbin/nologin	
		解释
			-A(after后面的行) 
				搜索出来的内容后面的行,我这里搜索的是后3行,需要加数字
				
	
			-n
				显示行号
				
			
	 grep -nB3 sync /etc/passwd
		返回结果
			3-daemon:x:2:2:daemon:/sbin:/sbin/nologin
			4-adm:x:3:4:adm:/var/adm:/sbin/nologin
			5-lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
			6:sync:x:5:0:sync:/sbin:/bin/sync	
	
		解释:
			-B(before)
				搜索到的内容的和他前面的三行,需要加数字
				
				
	grep -nC2 sync /etc/passwd
		返回结果
			4-adm:x:3:4:adm:/var/adm:/sbin/nologin
			5-lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
			6:sync:x:5:0:sync:/sbin:/bin/sync
			7-shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
			8-halt:x:7:0:halt:/sbin:/sbin/halt

		解释:
			-C(cintext)
				搜索到指定的内容的前后各多少行,需要加数字
			
		
			
	grep -e root -e sync /etc/passwd
		返回结果
			root:x:0:0:root:/root:/bin/bash
			sync:x:5:0:sync:/sbin:/bin/sync
			operator:x:11:0:operator:/root:/sbin/nologin			
	
		-e
			实现多个搜索选项,包含root或者包含sync
			
	grep -e root /etc/passwd|grep bin
		返回结果
			root:x:0:0:root:/root:/bin/bash
			operator:x:11:0:operator:/root:/sbin/nologin
		
		解释:
			搜索包含root的行并且搜索包含bin的行,两个条件同时满足
			
	
	grep -w root /etc/passwd
		返回结果
			root:x:0:0:root:/root:/bin/bash
			operator:x:11:0:operator:/root:/sbin/nologin
			
		解释
			-w
				搜索指定单词的行,需要满足单词要求,连续的数字或者字母下划线这算是一个单词
				
		
	取两个文件的相同行	
	创建两个文件
		echo laozhang  >> 1.txt
		echo laoli  >> 1.txt
		echo laowu  >> 1.txt
		echo laozhang  >> 2.txt
		echo laoliu  >> 2.txt
		echo laoshi  >> 2.txt
		
	grep -f 1.txt 2.txt 
		返回结果
			laozhang
			laoliu
		解释:
			-f
				对比第一个文件里面的有的内容,再去对比第二个文件有的相同的内容并打印出来
				
				
	查找/etc/包含root的文件内容
		grep -r root /etc/
		grep -R root /etc/
		
			解释:
				-r
					递归目录.单不能处理软链接
					
				-R
					递归目录.但能处理软连接
					
		
					
	
	
		
		
		
		
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	


Powered By Z-BlogPHP 1.7.3

 Theme By 优美模版

本博客为开源博客,本博客联系QQ:372097243