我有一个文本文件,每行有 1 个或多个电子邮件 ID。例如
id:123, name:test, id: 5678, name john, address:new york
id:567, name:bob
id:3643, name:meg, id: 6721, name kate, address:la
现在,问题是 id:value 可能在一行中出现一次或多次。如何提取所有 id:value 对,以便输出是,
id:123, id:5678
id:567
id:3643, id:6721
我试过egrep -o
了,但那是把每一id:value
对放在一个单独的行中。
sed/awk
应该做的伎俩,但我是菜鸟
不想使用Perl
,因为这需要安装 Perl。
编辑:
在进一步分析数据文件时,我看到分隔符不一致,即并非所有行都是,
分开的。有些甚至用:
and分隔|
。此外,,
出现在地址值字段中。即address:52nd st, new york
。这可以通过awk
使用正则表达式来完成吗?