shell学习部分笔记

找出行尾结束为小数点的一行
grep -n '\.$' regular_express.txt
grep -v '^$' /etc/syslog.conf|grep -v '^#'

[root@centos5 ~]# grep -n '[0-9][0-9]*' aa.log
1:However,this $31833 dollars
2:you no. 1.

怎么会包换第二行呢,这里面只有一个数字呀

[root@centos5 ~]# grep -n '[0-9][0-9]' aa.log
1:However,this $31833 dollars


[root@centos5 ~]# grep -n '[0-9]' aa.log
1:However,this $31833 dollars
2:you no. 1.
[root@centos5 ~]# 

因为*代表:重复0个或者多个前面的RE字符,因为 o*表示拥有空字符或者一个o以上的字符,特别注意,因为允许空字符(就是不管是否有字符都可以的意思),因此,grep -n 'o*' aa.log 将会把所有数据都显示在屏幕上
如果是(oo*) 第一个o肯定要存在,第二个o则是可有可无的,所以,凡是含有o,oo,ooo,oooo,......都会列出来
同理,当需要至少两个o以上的字符串就需要 ooo*
[root@centos5 ~]# grep -n 'g.*g' aa.log

[root@centos5 ~]# grep -n 'g.*g' aa.log
3:gasdfasgle

限定连续重复字符范围{}
比如找2~5个o的连续字符串,该怎么做?就是用{},又因为{}是特殊字符,所以得使用转义符\让他失去特殊意义。

找两个
grep -n 'o\{2\}' aa.log
2~5个
grep -n 'o\{2,5\}' aa.log

将行尾为 !的那一行显示出来

grep -n '!$' aa.log


本文转自guoli0813 51CTO博客,原文链接:http://blog.51cto.com/guoli0813/352067,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值