我有这个文件。它的开头是一个数字,然后是姓名和姓氏(有人可以有两个名字或/和两个姓氏但不能更多)
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'
答案 0 :(得分:1)
grep -E -i '^[0-9]{5}( [a-z]+){2,4}$' filename
^
将模式锚定到行的开头。然后它查找5个数字,然后是2-4个名称,每个名称前面都有一个空格。 $
将其锚定在该行的末尾。
-E
使其使用扩展正则表达式,-i
使其不区分大小写,因此您无需说[A-Za-z]
。