1

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

15105021   
15105043  
15106013  
15106024  
15106035  
15105024  
15105042  
15106015  
15106021  
15106034  

我需要 grep 具有序列号的行,1510603例如1510504

我试过这个 awk 命令

awk /[1510603,1510504]/ soursefile.txt  

但它不起作用。

4

5 回答 5

1

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

egrep '\b(1510603|1510504)' file

15105043
15106035
15105042
15106034
于 2013-09-29T08:05:49.970 回答
0

根据您文件的内容,以下内容就足够了

grep -E '^1510603|^1510504' file

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

如果你坚持

awk '/^1510603/ || /^1510504/' file
于 2013-09-29T01:30:28.077 回答
0

认为这有效:

egrep '1510603|1510504' source
于 2013-09-29T01:36:25.283 回答
0

您的问题陈述得很糟糕,但是如果您想打印文件中以or开头的所有数字,那么您可以在 Perl 中编写15106031510504

perl -ne 'print if /^1510(?:603|504)/' sourcefile.txt
于 2013-09-29T03:27:38.090 回答
0

更短的 awk

awk '/1510603|1510504/' file
于 2013-09-29T07:29:31.423 回答