grep命令

grep命令常用用法

-a :将binary文件以text文件的方式搜寻数据
-c :计算找到"搜索字符串"的次数,一次也只能一个
-i :忽略大小写的不同
-n :顺便输出行号
-v :反向选择,亦显示处没有“搜索”内容的那一行。
--color :在找到的关键词部分加上颜色显示。

grep与正规表达式

字符类
[ae]  //代表 a或者e 中的一个字符
[^g]oo //查找 不以g开头,但是以oo结尾的字符串
[^a-z]oo //查找不以小写开头,但是以oo结尾的字符串

大写英文/小写英文/数字可以使用[a-z],[A-Z],[0-9]。

行首与行尾字节 ^ $

这里的 ^ 与$符号,跟在编程语言中搜索字符串是使用的正则有所差别,是值得,这一行以什么开头和结尾,而不是指的某个字符串。

'^the' //查找以the开头的行
'^[a-z]' //以小写字符开头的行。
'^[^a-zA-Z]' //不要开头是英文字母,^在中括号内外的意思不同,在外边表示以xxx开头,在括号内表示取反
'\.' //表示小数点,小数点在grep命令中也有特殊含义,所以要转义。
'^$' //空白行
任意一个字节 . 与重复字节 *
. (小数点):代表『一定有一个任意字节』的意思;
* (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态
限定连续 RE 字符范围 {}
'o\{2\}' //两个o的字符串.

'go\{2,5\}g' //g 后面接 2 到 5 个 o ,然后再接一个 g 的字串
'go\{2,\}g'//g 后面接 2个一行上的o,然后以g结尾.
扩展grep(grep -E 或者 egrep):

使用扩展grep的主要好处是增加了额外的正则表达式元字符集。

打印所有包含NW或EA的行。

egrep 'NW|EA' testfile  

对于标准grep,如果在扩展元字符前面加\,grep会自动启用扩展选项-E。

grep 'NW\|EA' testfile

搜索所有包含一个或多个3的行。

egrep '3+' testfile
grep -E '3+' testfile
grep '3\+' testfile  

搜索所有包含0个或1个小数点字符的行。

egrep '2\.?[0-9]' testfile 
grep -E '2\.?[0-9]' testfile
grep '2\.\?[0-9]' testfile 

搜索一个或者多个连续的no的行。

# egrep '(no)+' testfile
# grep -E '(no)+' testfile
# grep '\(no\)\+' testfile  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值