我使用grep显示zipcode列中仅包含4,5,6,7和9的所有行。
如何仅在邮政编码字段中显示包含数字4,5,6,7和9的文件行?
示例行是:
15米jagger mick 41 4th 95115
由于
答案 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