-1

我在文件中有以下数据

Muhammad,Ali    House 12 Mazhar Colony Rawalpindi   0333-5438855
Bushra,Qadir    Gulberg Society Lahore  0234-5321998
Muhammad,Imtiaz Sector E-11/4 Islamabad 0331-4320988
Ehtasham Ul,Haq Chinar House Islamabad  0432-2294712
Summaya,Mumtaz  NUST Hostel-3 Islamabad 0321-7659832
Junaid,Riaz Sadar Road Rawalpindi   0331-5332222

我需要使用grep. 我尝试了许多不同的代码,但运气还没有对我有利。对此有什么想法吗?

4

2 回答 2

6

您可以尝试以下方式:

grep -E '^\w{5},\w{3,4}\s'

文件内容:

Muhammad,Ali    House 12 Mazhar Colony Rawalpindi   0333-5438855  
Bushr,Qadi    Gulberg Society Lahore  0234-5321998
Muham,Imt Sector E-11/4 Islamabad 0331-4320988
Ehtasham Ul,Haq Chinar House Islamabad  0432-2294712
Summaya,Mumtaz  NUST Hostel-3 Islamabad 0321-7659832
Junaid,Riaz Sadar Road Rawalpindi   0331-5332222

输出:

Bushr,Qadi    Gulberg Society Lahore  0234-5321998
Muham,Imt Sector E-11/4 Islamabad 0331-4320988
于 2012-11-14T17:49:36.790 回答
0

我尝试了许多不同的代码,但运气还没有对我有利。

运气与它无关。您正在搜索五个字母,后跟一个逗号,然后是三个或四个字母,然后是一个空格。

^    is the beginning of a line
\w   is "a letter"
{n}  means "this many repetitions"
\s   is "a whitespace" (space, tab, nonbreaking space etc.)

您只需将它们放在一起并获得正则表达式:

^\w{5},\w{3,4}\s
于 2012-11-14T23:39:49.070 回答