如何在数据文件中查找特定的数字模式

时间:2013-09-29 01:27:11

标签: perl awk grep

我有一个看起来像这样的数据文件

15105021   
15105043  
15106013  
15106024  
15106035  
15105024  
15105042  
15106015  
15106021  
15106034  

我需要grep包含15106031510504

等序列号的行

我尝试了这个awk命令

awk /[1510603,1510504]/ soursefile.txt  

但它不起作用。

5 个答案:

答案 0 :(得分:1)

在LHS上使用egrep和字边界,因为OP希望匹配RHS上的所有匹配数字:

egrep '\b(1510603|1510504)' file

15105043
15106035
15105042
15106034

答案 1 :(得分:0)

根据您文件的内容,以下内容应该足够

grep -E '^1510603|^1510504' file

如果您的版本不支持-E标记,请尝试使用egrep代替grep

如果你坚持

awk '/^1510603/ || /^1510504/' file

答案 2 :(得分:0)

认为这有效:

egrep '1510603|1510504' source

答案 3 :(得分:0)

您的问题陈述得非常糟糕,但如果您想要使用15106031510504打印开始的文件中的所有数字,那么您可以将其写入Perl的

perl -ne 'print if /^1510(?:603|504)/' sourcefile.txt

答案 4 :(得分:0)

较短的awk

awk '/1510603|1510504/' file