grep用法

grep是一个常用的命令。
以前只知道^$.+?*这些用法。以及-E的正则表达式。

今天偶然发现还有一些更高级的匹配模式。具体如下:

[:alnum:]    字母与数字字符
[:alpha:]    字母
[:ascii:]    ASCII字符
[:blank:]    空格或制表符
[:cntrl:]    ASCII控制字符
[:digit:]    数字
[:graph:]    非控制,非空格字符
[:lower:]    小写字母
[:print:]    可打印字符
[:punct:]    标点符号字符
[:space:]    空白字符,包括垂直制表符
[:upper:]    大写字母
[:xdigit:]    十六进制数字

还有一些常用的就是
{n}            必须匹配n次
{n,}        必须匹配n次或n次以上
{n,m}        必须匹配n到m次,包含n和m

下面我们进行简单的测试下就知道了
文本内容如下test.txt

A novel is a book of long narrative in literary prose

The genre has historical roots both in the fields of the medieval and early modern romance and in the tradition of the novella

The latter supplied the present generic term in the late 18th century.

Further definition of the genre is historically difficult.

The construction of the narrative, the plot, the way reality is created in the works of fiction.

Most of these requirements were introduced in the 16th and 17th  centuries in order to give fiction a justification outside the field of  factual history.

The individualism of the presentation makes the  personal memoir and the autobiography the two closest relatives among  the genres of modern histories.
grep a[[:blank:]] test.txt

5561066808_a504984507_z.jpg

grep -E [a-z]\{10\} test.txt

5561066804_ae4c0ebe60_z.jpg

grep Th.[[:space:]] test.txt

5561066798_fb5625ab54_z.jpg

###########################################

Best regards
Timo Seven
blog:http://www.timoseven.com
twitter: http://twitter.com/zauc
Linux System Admin  & MySQL DBA

厉建宇的阿里巴巴离职信

厉建宇是美籍华人,好多观念上跟我们有很大的不同。

下文就是他之前要离开阿里巴巴留下的离职信。回顾了他在蓝讯和阿里巴巴的路程。本文也展现了他的一些工作理念,应该说跟着这样的领导还是跟对人的。也许这就是google之所以伟大的原因中的一点:简单。 

中文不佳,全用英文写又无法让更多的同学了解我的心路旅程,所以请各位原谅我蹩脚的中文。

*一个简单的道理:一块2TB桌面级硬盘今天的价格约为700元,相同大小的企业级硬盘一块今天的要价仍然超过1,500元,这两个硬盘最大的差别是RVI震动率的设置(因此,桌面级硬盘在震动率稍大的时候,依然能够正常工作,企业级硬盘为了提升可靠性,所以当震动略大的时候,会停止工作,保护磁盘),两者连螺丝的位置都相同(不是用于固定硬盘的螺丝,是用于固定磁盘内部机构的螺丝),我们假设硬盘仍然坚守摩尔定律(每18个月容量增加一倍),一年半后就算我们需要更换所有的桌面级硬盘(注),我们还可以做到用相同的成本,获取两倍的存储容量!四年半后,我们将以同样的价格拥有四倍的存储!加上半导体制程的进步,当固态硬盘开始取代机械硬盘(约计在2015年前后发生),我们服务器的性能和效率能将再上一个台阶(每块SSD可以提供250MB/s吞吐量,而且只有2.5英寸(SFF),一台2RU的服务器可以配置24个SFF的服务器,也就是6GB的吞吐量,这也就不难解释为什么2012年开始销售的服务器会配置两个万兆以太网端口了)!

*成本!成本!成本!:我为什么放弃在ChinaCache的股权,回到美国求职呢?那是因为作为CTO,我没有阻挡我的CEO快速扩张视频分享下载(FLV)这条业务线,结果,到2008年中,当土豆在投资者(VC)的降低成本的要求下,自建CDN设施的时候,Chinacache的业务一下子下降了60%,几个月前刚刚购买的交换机和服务器都必须折价出售,最糟糕的是还找不到买家,IT设备的价格是天天掉价的!倘若当初CEO拒绝10%股权赎回的诱惑(VC要求业绩必须连续两年出现100%增长),将发展FLV业务的经费投资在集群效率的优化,那么ChinaCache就可能可以用更低的成本提供FLV下载的业务,加上时段复卖及规模效应,就可以将FLV下载业务的销售价格低于土豆(自建CDN)的成本价,土豆,优酷等视频分享业者也就不会在VC的压力下建设自己的FLV下载基础设施。两个月发不出薪水给普通员工啊!你们一定能够体会那种痛苦,我堂堂一个中国互联网骨干设施的先期建设者,居然要靠砸锅卖铁来等待VC的bridge loan来渡过那艰难的三个月,所以我把股权给了留下来的同事(不知道CEO有没有执行这个意愿),自己回到美国求职。相同的道理,阿里巴巴在过去十年,凭借优秀的商务模式,占据80%的电子商务市场,但是,业务模式创新的速度已不如前十年,同质竞争的压力又不断地增加………一种似曾相识的感觉涌上心头:2000年之后,思科分别在两个阶段受到来自Juniper和华为的追赶,ChinaCache只不过将类似的问题集中在一年之内爆发,所以,当这样的问题来临是,无论你请什么人来,都救不了这样的企业。

*新商业文明 – 谈厂商和用户之间的关系 (扭曲化的结果就是贿赂,无意义的折扣),电子商务在解决供需的问题,我们也应该用相同的概念来解决我们基础设施的问题。讲实在话,阿里巴巴和国有电信运营商采购的腐败就只有一步之远!如果厂商在我们团建时提供一桌四千元的晚餐,我们这些月薪一万元的SA工程师,怎么能够不嘴软呢?如果团建经费再多一点,如果厂商招待费放开一点,我们的工程师需要厂商那一点点小恩小惠吗?

*思科让我回去做主管EC3(企业级云计算),华为让我进入CTO办公室主管云计算业务,我都没同意,它们的薪水可都是高出阿里巴巴三倍的薪水!我想留下来,就是马总的一句“国有”企业 — 一个真正意义的公用事业!另外,是谁鼓励土豆,优酷建设自己的FLV基础设施呢?我怎么可能跟这些砸了我的事业的人再继续合作呢?这些设备厂商唯一想的事情就是让你多买一些,至于你能不能高效应用这些设备,它们才不关心呢!地球明天会不会因为Global warming而变得风雨无常,你的公司会不会因为低效而面临经营的困难都不是它们考虑的问题,因为他们只关系自己的荷包是不是够满,是不是够钱能够买一部Audi R8 Spyder,明天会不会因为业绩不佳而被裁员…………

我愿意和Intel合作,是因为它总是能告诉我产业发展的方向,我愿意和英业达,富士康,广达,锐捷合作,因为它们总是能够非常快速的反映我们的需求(直接帮助提升我们服务器的效率),我们甚至做到让这些厂商提供原材料的价格(BoM cost),让它们自己提它们认为合理的利润,借此建立一种可持续发展的合作关系。可是,每一次一到采购,我们这些策略就执行不下去(总是买Dell,Huawei品牌的商用服务器),我也没脸再跟ODM厂商要求开发新的机种(一个原因是厂商没有因为前期研发的付出而获利,另一个原因是2011年项目没有获得支持,所以研发经费为0)。

就算在中国电信,也知道采购部门必须和需求部门分离,就这样还不能阻挡腐败的发生,我们阿里云却把运行维护,计划建设,采购放在同一个VP下,虽然这么做有助于解决(小)部门KPI被过份放大的问题,但是这三个部门合在一起,许多Check & Balance就消失了,结果当然不是以阿里巴巴的利益为优先,更不要提公用事业这个伟大的理想了!

*我为什么不愿再继续写代码 – 这几个月为了提升服务器的性能,我每天工作到半夜,连续了三四个月,在代码的世界里,我很快地就找到了自己,很快地就能够有一些成就感,特别是捡起15年没有再读过的TCP内核代码,我很快乐我能够找出它在LFN(高性能,高延迟(缓存))的不足,但是,做这个工作我只能带动几位工程师,做绿色数据中心,我却能够带动整个中国的互联网基础设施工业,这就是我为什么不愿意再继续写写代码,而是希望能够去改变一个产业。

注:厂商提供的桌面级硬盘的质保也是三年,而根据Google提供的数据,硬盘的年损坏率略低于4%,生命周期内损坏率约为8.6%,也就是说90%硬盘都能够工作三年,而不是一年半,那么一块硬盘差800元,12块硬盘就是10,000元,11,000台12盘的服务器三年的成本就节省一亿元人民币,这一亿元人民币难道不够让我们请10个高级系统工程师(三万元一个月也就是一亿元的10%),,将我们硬盘跟换的流程优化,所以他们就不必每次跟换硬盘的时候都必须工作到半夜12点?

########################################### 

Best regards
Timo Seven
blog:http://www.timoseven.com
twitter: http://twitter.com/zauc
Linux System Admin  & MySQL DBA