查找在文件中搜索特定模式的正则表达式(Unix-Solaris)

时间:2016-11-14 22:35:00

标签: linux unix expression solaris

我有这个文件。它的开头是一个数字,然后是姓名和姓氏(有人可以有两个名字或/和两个姓氏但不能更多)

21501 Sylvester Stallone                 
21502 Tommy Lee Jones                        
21503 Jean Claude Van Damme               

我必须使用grep。到目前为止,我已经认为这两个选项我几乎100%确定它们都不对,但它是一个开始。

grep -e [0-9]\{5\}[[:space:]][A-Z][a-z]

grep  '^([a-z]+)[ \s]([a-z]+)/n'

1 个答案:

答案 0 :(得分:1)

grep -E -i '^[0-9]{5}( [a-z]+){2,4}$' filename

^将模式锚定到行的开头。然后它查找5个数字,然后是2-4个名称,每个名称前面都有一个空格。 $将其锚定在该行的末尾。

-E使其使用扩展正则表达式,-i使其不区分大小写,因此您无需说[A-Za-z]