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

Linux 查找在文件中搜索特定模式的正则表达式(Unix Solaris),linux,unix,expression,solaris,Linux,Unix,Expression,Solaris,我有这个档案。开头是一个数字,然后是一个名字和一个姓氏(一个人可以有两个名字或/和两个姓氏,但不能更多) 我必须使用grep。到目前为止,我已经想到了这两个选项,我几乎100%确信它们都不对,但这只是一个开始 grep -e [0-9]\{5\}[[:space:]][A-Z][a-z] grep '^([a-z]+)[ \s]([a-z]+)/n' ^将图案锚定到行首。然后查找5位数字,后跟2-4个名称,每个名称前面有一个空格$将其锚定到行的末尾 -E使其使用扩展正则表达式,-i使其不区

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

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

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

grep  '^([a-z]+)[ \s]([a-z]+)/n'
^
将图案锚定到行首。然后查找5位数字,后跟2-4个名称,每个名称前面有一个空格<代码>$将其锚定到行的末尾


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

{
[
对shell有特殊意义,你需要把regexp放在引号中。你的问题是…表达式的结构应该是什么。如果其中一个是对的…谢谢。这让我明白了一切。祝你有愉快的一天!
grep -e [0-9]\{5\}[[:space:]][A-Z][a-z]

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