Chinaunix

标题: grep使用正则表达式的疑问 [打印本页]

作者: windbadboy    时间: 2013-01-10 14:53
标题: grep使用正则表达式的疑问
$grep '[^a-z]\{1,6\}\.[^A-Z]\{1,2\}' myfile
yrend.AS                --match
mothdf                   --nomatch
soa.PP                    --match
qp.RR                    --match

我从一本SHELL书上看到的例子。
我已经看晕了,不知道这个正则表达式要过滤的是什么,我只能理解:
1、文件必须有小数点;
2、小数点前面不以a-z开头?
3、小数点后面不以A-Z开头?

请兄弟们指点迷津。
作者: yestreenstars    时间: 2013-01-10 15:28
这是书中例子?还是你自己写的?按照你期望的结果,应该写成:
  1. grep '[a-z]\{1,6\}\.[A-Z]\{1,2\}' myfile
复制代码

作者: davidbeckham921    时间: 2013-01-10 15:37
感觉写反了,要么就是以为^是开头呢。

这个书是什么书,建议大家都不要看了哈哈,误人子弟。
作者: 刺客阿地    时间: 2013-01-10 15:42
对,赞同楼上的意见!
作者: blackold    时间: 2013-01-10 15:48
好书! 一人一本。
作者: windbadboy    时间: 2013-01-10 16:04
书的名字叫《LINUX与UNIX_SHELL编程指南》

我上图了。
作者: windbadboy    时间: 2013-01-10 16:05
不是我想写成啥样,而我想读懂书中写的是啥意思。
作者: blackold    时间: 2013-01-10 16:08
回复 7# windbadboy


    应该翻译时搞错了。

原来应该是这样的吧:

grep '^[a-z].....
作者: windbadboy    时间: 2013-01-10 16:11
这个我就不知道了,反正这本书错误较多,我边读边发现了好几个。
我是在网上搜索,说这本书不错才读的。
作者: blackold    时间: 2013-01-10 19:34
回复 6# windbadboy


    刚才查了原著。翻译版和原著一样。本来就错了。
作者: w630866139    时间: 2013-01-10 19:39
开头一到六位是非小写字母,中间含有一个“.”,结尾一到二位是非大写字母 ==!是这个么?
作者: zooyo    时间: 2013-01-10 22:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: aqbssh    时间: 2013-01-12 14:04
回复 10# blackold


    你手头上有多少这样的书?有没有那本 <sed&awk> ?  我想找那本书,就是买不到。如果你有那本书愿意出手的话,我的QQ 945159199
作者: blackold    时间: 2013-01-12 14:23
回复 13# aqbssh


    我是看电子版的。


另, 刚才查了下错误很多的《sed&awk》真是买不到了,汗。
作者: Shell_HAT    时间: 2013-01-14 11:06
回复 13# aqbssh


O'Reilly sed & awk 2nd Edition 英文版
http://bbs.chinaunix.net/viewthread.php?tid=1588614#pid11286082

O'Reilly sed & awk 2nd Edition 中文高清修订第3版
http://bbs.chinaunix.net/thread-1743038-1-1.html
作者: dWX56896    时间: 2013-01-14 17:18
哎 尽信书不如无书




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2