grep用法

grep
rep [option]  "pattern" 文件名称  
-m  设置显示匹配次数
-c  显示匹配的次数
-n  显示匹配的行
-i 不区分大小写   
-o 只显示匹配的内容不显示整行 
-v 取反向值  
-e 取多个条件 ##### grep -e "^$" -e "^#" 1.txt  显示空行和注释行
-E 扩展正则表达式  不用加\ 转义符  ##### grep -E "(r79){1,}" 1.txt   支持| 符  或的意思 grep -E "haha|heihei" 1.txt  
-A n  显示匹配之后的行数 ###### ifconfig ens33 | grep -A 2 "inet6"
-B n  显示匹配之前的行数 ###### ifconfig ens33 | grep -B 2 "inet6"
-C n  显示匹配前后的行数
-R 递归查找   grep -R 'top' /etc/*
pattern 模式:
正则表达式的元字符
1)匹配单个字符的元字符
	. 代表任意一个字符,不能为空 ###### grep "r..t" /etc/passwd
	中括号里的符号类似于用了\转义符号
	[zaq] 匹配单个字符 或者是z或者是a或者是q的     #####grep "[zxa]"  1.txt 
	'a|b|asd|abc' 匹配单词,a或者b或者asd或者abc  ## grep -E 'a|b|c|asd|abc' 123  
	[a-z] [A-Z] [0-9  [a-zA-Z0-9]    
	[^RS] 取反 不是RS开头的   #####grep "^[^RS]"  1.txt   
	[:punct:] 所有符号  
	[:space:] 空格   #####grep "[*[:space:]*]" 1.txt   
2)匹配字符出现的位置
	^R  R开头的   ######grep "^R.[qwe]"  1.txt 
	9$ 9结尾的   ######grep "9$" 1.txt 
	^$ 空行 (不包括空格tab)
	列出文件里目录 ### ll /etc/ | grep "^d"
3)匹配字符出现的次数
	* 匹配其前一个字符出现任意次(包括0次) ######## grep "ab*"  1.txt
	.* 任意字符任意长度 
	\?  匹配最多1次 可有可无  ######## grep "r8t\?" 1.txt 
	\+ 匹配最少1次  ######## grep "r79\+" 1.txt      
	{n} 精确出现n次  ######## grep "r79\{1\}"  1.txt     
	{3.5}出现3-5次  ######## grep "r79\{3,5\}"  1.txt   
	{2,}  最少两次  ######## grep "r79\{2,\}"  1.txt  
	{,5} 最多5次  ######## grep "r79\{,5\}"  1.txt  
分组 合成多字母为一个字符  匹配例子########   grep "\(r79\)\{1,\}" 1.txt 
[root@rocky ~]# grep -vE '^($|#)' fstab   反选注释行和空行

##########################################################
空行也算字符
[root@wsb tmp]#  grep ' ' 123
a b
1 3
asd 123
asdsad 1231
  ##
  
[root@wsb tmp]#  grep -n ' ' 123
2:a b
3:1 3
4:asd 123
5:asdsad 1231
11:  ##
##########################################################
[root@wsb tmp]# grep '[0-9]\+' /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
----------------------------------------------------------
[root@wsb tmp]# grep -E '[0-9]+' /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

##########################################################
[root@wsb tmp]# egrep 'oldb(e|o)y' 123                   
oldboy
oldbey
-----------------------------------------------------------
[root@wsb tmp]# egrep 'oldb(.|.*)y' 123  
oldboy
oldbey
-----------------------------------------------------------
[root@wsb tmp]# egrep 'oldb[a-z]y' 123  
oldboy
oldbey

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值