【发布时间】:2012-01-19 04:57:32
【问题描述】:
我有一个地址文件,其中一些地址有两次城市邮编。
例子
Joe Schmoe
4545 RANDOM ADDRESS ST NE
TIMBUKTU AK 99909
TIMBUKTU, AK 99909
我想保留第一个,所以我认为像下面这样的 sed one-liner 可能会起作用:
sed -e '$!N' -e "s/\(.* 9[0-9]\{4\}\)\n.* 9[0-9]\{4\}/\1/" processme.txt
奇怪的是:它适用于没有空行的文件 --- 但不适用于有空行的文件。
???
想法?
【问题讨论】:
-
您可以忽略我的回答,因为它使用了
awk。我没有看到sedonly 标签。 -
其实我只需要解决这个问题---awk 就可以了。我只是更熟悉 sed。旧的“如果你只有一把锤子……”综合症。
-
听起来不错。 :) 我对答案又做了一个改动。您能否针对您的文件进行测试。
-
你的 awk 语句也不起作用。
-
我对一个示例文件进行了测试。如果你能告诉我问题是什么,那么我可以解决它。
标签: sed