Grep查找邮政编码列中包含4,5,6,7和9的行

时间:2013-10-01 22:40:49

标签: linux unix grep

我使用grep显示zipcode列中仅包含4,5,6,7和9的所有行。

如何仅在邮政编码字段中显示包含数字4,5,6,7和9的文件行?

示例行是:

15米jagger mick 41 4th 95115

由于

3 个答案:

答案 0 :(得分:2)

我将假设你的意思是“我如何使用grep ......”

如果文件中的所有行在每行的末尾都有一个5位数的zip,那么:

egrep“[45679] {5} $”filename

应该给你你想要的东西。

如果zip和行尾之间可能有空格,那么:

egrep“[45679] {5} [[:space:]] * $”filename

会更强大。

如果问题比这更普遍,请更准确地描述。

答案 1 :(得分:0)

以下正则表达式应该可以获取所需的结果:

egrep "[45679]+$" file

答案 2 :(得分:0)

如果用“grep”表示“正确的工具”,那么你寻求的解决方案是:

awk '$7 ~ /^[45679]*$/' input

这将打印所有输入行,其中第7个字段仅包含字符4,5,6,7和9.如果要指定“最后一列”而不是第7列,请尝试

awk '$NF ~ /^[45679]*$/' input