【发布时间】:2014-11-30 22:20:59
【问题描述】:
我有一个大文本文件,我想用 grep 搜索。文件结构如下:
8071656799 4661447177 0355654334 3019852932 8351070080 3427747396 : 3099000001
8711668395 3649821348 9956324354 5011010810 9136023566 9366447433 : 3099000002
5082147211 3084342012 9526906615 7367215108 0922482666 6485161555 : 3099000003
4029562459 5180764444 6007631229 0296033611 6410243961 1599676529 : 3099000004
2029562935 7403306551 4667331755 4708680737 0948271458 0585681992 : 3099000005
3980586858 2774838233 2196908474 1817405080 5501649035 3043116116 : 3099000006
4821697167 9339115830 6953440258 6707173876 7188037671 5127476767 : 3099000007
0341392607 4082292483 7807211229 1753819242 4269141779 6567687980 : 3099000008
我想查找特定的数字序列,同时忽略空格、冒号、行尾和每行的最后 10 位数字。例如 8034277473968711 将出现在前两行:
80 3427747396 : 3099000001 8711
拜托,你能帮我解决这个任务的 grep 正则表达式吗?或任何其他解决此问题的方法。谢谢。
【问题讨论】:
-
前两行可以用其他方式匹配相同的序列。
-
我不相信它在正则表达式中是实用的——你最喜欢的编程语言是什么? :)
-
您只是在寻找给定序列的出现次数吗?还是您需要知道它们在文件中的位置?我想知道我们是否不能删除所有不需要的字符(空格和每行的最后 10 位数字),然后以这种方式搜索出现的次数。
-
Linux 还是 Windows?还是windows变成Linux程序?还是在 Windows 下运行 Linux?
-
@Lev Levitsky:怎么样?
标签: regex linux windows grep cygwin