- 帖子
- 19
- 积分
- 39
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2012-11-29
|
我曾经问过一个sed方面的问题,见原贴:http://bbs.bathome.net/thread-25483-1-1.html
这里为了方便,我再把文本发下,
[email]Mehak@gmail.com[/email] | Facebook
https://www.facebook.com/pages/Mehakgmailcom/248181861872358?
[email]Mehak@gmail.com[/email]. University. 9 people like this. Want to like this page? Sign up for Facebook to get started. Sign Up. It's free and anyone can join. Already a ...
Team Drake and Kennedy ([email]drakeandkennedy@gmail.com[/email] ...
https://www.facebook.com/TeamDrakeAndKennedy?
Team Drake and Kennedy ([email]drakeandkennedy@gmail.com[/email]). 1120 likes · 374 talking about this. Drake and Kennedy's journey into this world has been a ...
[email]Alice.williams.com@gmail.com[/email] | Facebook
https://www.facebook.com/.../Alicewilliamscomgmailcom/31452919192...?
[email]Alice.williams.com@gmail.com[/email]. 7 likes · 0 talking about this.
[email]sadia22222@gmail.com[/email] - Sadia Sabreen Shammee | Facebook
https://www.facebook.com/permalink.php?story_fbid...id...?
Flamboyant Nayeem, Jumon Ahmed, Maruf Hasan and 39 others like this. 48 of 355. View previous comments. Muhammad Kashif 03216663232 my number ...
[email]Macharla.mallikarjun@gmail.com[/email] | Facebook
https://www.facebook.com/Macharlamallikarjungmailcom?
[email]Macharla.mallikarjun@gmail.com[/email]. 4 likes · 0 talking about this.
[email]HOGER.EVENTOS@GMAIL.COM[/email] | Facebook
https://www.facebook.com/.../HOGEREVENTOSGMAILCOM/2733076...?
[email]HOGER.EVENTOS@GMAIL.COM[/email]. 11 likes · 0 talking about this.
[email]Abdulwahab@Gmail..com[/email] - Local Business | Facebook
https://www.facebook.com/.../AbdulwahabGmailcom/211068888974266?
[email]Abdulwahab@Gmail..com[/email]. 17 likes · 0 talking about this · 13 checkins.
www.gmail.com - Photos | Facebook
https://www.facebook.com/pages/wwwgmailcom/162880424899?sk...?
www.gmail.com, Las Mercedes, Venezuela. 69204 likes · 998 talking about this.
Gmail.com | Facebook
https://www.facebook.com/www.gmail.com.email?
www.gmail.com - Gmail has become one of the best used web based email service in the world for both personal and professional use. You can access Gmail ...
Bappa CHI Kheti at Gmail.com | Facebook
https://www.facebook.com/BappaChiKhetiAtGmailcom?
Bappa CHI Kheti at Gmail.com. 4 likes · 0 talking about this.
排除 www.gmail.com不要,只要真正的gmail邮箱地址.
其中,terse给出了一个sed命令:
sed -nr "s/.*[ (](.*@gmail[\.]+com).*/\1/ip" "a.txt"
好用,我很希望自己能完全看懂它,为此查了一些资料,下面说出我的理解,不知道对不对,大家帮助看看.
1 -r这个参数,不用-r的话, | & + 要转义的,
-r是对正则的扩展。当你表示一个以上的空格和tab时候的加号,用 -r的时候加号直接跟在[]后面,而不使用-r时候 加号前得加上\
2 .*意味着能够匹配任意数量的任何字符
3 命令中.*后面的[ (]的理解,,查了下是这样说的:
如果不是在字符组‘[]’限定的范围内,括号在正则表达式里面是元字符,它本身不会去匹配
字符。如果要使用括号匹配字符,需要转义,也就是使用'\('和'\)'。
b.在字符组'[]'限定范围内,括号是被当作普通字符的。就是说,如果你写一个正则表达式像这
样: '[.()abc]',它代表匹配一个字符,这个字符可以是 . ( ) a b c中的任意一个。注意其中的括
号没有转义,因为正则表达式中‘[]’比较特殊。
还是不懂啊,谁能再通俗的说说.
4 然后是这个小括号,括号在正则表达式中代表一个子表达式。比如,‘(abc|efg)kkk’ 这个正则表达式可以匹配
abckkk和 efgkkk.
括号在正则表达式中又叫“捕获型括号”,在perl这类流派所支持的正则表达式中,后续可以
使用$1、$2这样的变量来引用括号内的表达式。而在egrep中,也可以通过'\1'这样的元字符序列来引
用它,这里terse是如何使用这个小括号的?
5 加号是不是匹配1或多个正好在它之前的那个点,网址中的.
6 这里的\1,好象是引用,但具体怎么回事,哪位费心来说说.
7 p前面的!,"!"表示后边的命令对所有没有
被选定的行发生作用,这里是这样理解吗?
这里写了一些不懂的地方,希望大家多指出错误,帮助象我一样的新手提高,当然跟希望terse能亲自讲解,这里先谢谢大家了. |
|