LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1241|回复: 6

匹配搞不定

[复制链接]
发表于 2008-3-18 15:54:54 | 显示全部楼层 |阅读模式
|031184881998|031113393113795
|031124881998|031143393113795
|031211341998|031184881998
第1列和第2列前面4位相等的行,高手指导一下!
发表于 2008-3-18 20:28:48 | 显示全部楼层
Post by jsksnick;1827973
|031184881998|031113393113795
|031124881998|031143393113795
|031211341998|031184881998
第1列和第2列前面4位相等的行,高手指导一下!
awk 'BEGIN {FS="|"} NF > 0 { if(substr($2,1,4) ==  substr($3,1,4)){print}}' file
回复 支持 反对

使用道具 举报

发表于 2008-3-18 23:44:18 | 显示全部楼层
<lig@other-server:~/chinaunix>$ perl -ne 'print if /^\|(\d{4})\d+?\|\1/' <<HERE;
> |031184881998|031113393113795
> |031124881998|031143393113795
> |031211341998|031184881998
> HERE
|031184881998|031113393113795
|031124881998|031143393113795
回复 支持 反对

使用道具 举报

发表于 2008-3-20 06:25:12 | 显示全部楼层
Post by heejun;1828178
<lig@other-server:~/chinaunix>$ perl -ne 'print if /^\|(\d{4})\d+?\|\1/' <<HERE;
> |031184881998|031113393113795
> |031124881998|031143393113795
> |031211341998|031184881998
> HERE
|031184881998|031113393113795
|031124881998|031143393113795


这个强~~学习了。。。
回复 支持 反对

使用道具 举报

发表于 2008-4-18 19:59:45 | 显示全部楼层
grep "^|\([0-9]\{4\}\).*\1" ip.txt
回复 支持 反对

使用道具 举报

发表于 2008-4-19 22:15:12 | 显示全部楼层
Post by lxmxn;1828616
这个强~~学习了。。。

No,用Perl来做是最没挑战性的。哈哈哈...
回复 支持 反对

使用道具 举报

发表于 2008-4-20 05:24:48 | 显示全部楼层
Post by Jockey;1840172
No,用Perl来做是最没挑战性的。哈哈哈...

Perl 的正则太牛X啦。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表