我必须找到邮政编码为“22”的人的所有条目。注意:这不应包括像Mike Keneally这样的街道地址包含“22”的内容。
以下是一些数据样本:
Bianca Jones, 612 Charles Blvd, Louisville, KY 40228
Frank V. Zappa, 6221 Hot Rats Blvd, Los Angeles, CA 90125
George Duke, San Diego, CA 93241
Ruth Underwood, Mariemont, OH 42522
这是我到目前为止的命令,但我不知道它为什么不起作用。
egrep '.*[A-Z][A-Z]\s*[0-9]+[22][0-9]+$' names.txt
答案 0 :(得分:0)
猜这是你的样本names.txt
Bianca Jones,612 Charles Blvd,Louisville,KY 40228
Frank V. Zappa,6221 Hot Rats Blvd,Los Angeles,CA 90125
George Duke,San Diego,CA 93241
Ruth Underwood,Mariemont,OH 42522
egrep'。 [A-Z] [A-Z] \ s [0-9] + [22] [0-9] + $'names.txt
您的代码转换为匹配满足此条件的任何行:
[A-Z][A-Z]
有两个连续的大写字符\s*
零个或多个空格字符[0-9]+
一个或多个数字字符[22]
一个字符匹配2或2 [0-9]+$
行尾的一个或多个数字字符让线条满足您的要求:
邮政编码中有“22”
你可以这样做:
egrep '[A-Z]{2}\s+[0-9]*22' names.txt
答案 1 :(得分:0)
如果邮政编码始终是最后一个字段,则可以使用此awk
awk '$NF~/22/' file
Bianca Jones, 612 Charles Blvd, Louisville, KY 40228
Ruth Underwood, Mariemont, OH 42522