我有一个包含近10,000个电话号码的文件,其中很多格式不正确,例如, 123-456-7890
虽然我已经清理了大部分,但我仍然有一个模式,我不知道如何处理。我以前sed
清理大部分不介意使用任何sed
或awk
,虽然我用sed
更多的时候则awk
,得到最后的群体之一(2306线)格式正确清理格式不正确的电话号码文件
例子:123 4567890
( 3标签7)需要为123-456-7890
(3号短跑3号短跑4号)。
我知道我能找到的模式,轻松地更换标签不够用:
sed "^[0-9][0-9][0-9]\t[0-9][0-9][0-9][0-9][0-9][0-9][0-9]/s/\t/-/" infile.txt > outfile.txt
但是,如果我能扩充指令解析7个号码,组合在一起,它会在同一时间让我更容易清理这轮之后剩下的东西。我已经做了大量的搜索,但是当我在发布问题之前输入主题来工作时,我从列表中找不到任何东西。
谢谢你,它看起来像它的工作。你介意解释一下'sed'指令与我的相比吗?我需要确定它没有采取任何其他需要清理的模式。 – user3439894 2014-11-07 02:23:13
我在文件上运行了'diff',它只触及目标模式,所以不需要解释指令,因为我会阅读扩展正则表达式,就像我应该那样。再次感谢。 – user3439894 2014-11-07 02:57:35