我有一个包含500行和8列的csv文件。一栏是办公室电话号码。其中大约200个的形式为-1234,但需要为123-456-7890。
200个实例中的每个实例都有不同的后四个,因为它们是桌面电话号码。区号和交换部分对所有人来说都是一样的。举个例子,我们有三个数据点:
-2329
-5679
-8891
这三项需要转换为完整的电话号码,因此需要看起来像:
212-598-2329
212-598-5679
212-598-8891
任何人都有sed魔法来解决这个问题吗?
示例数据行如下所示:
Bill,Smith,Mr.,bsmith@mydomain.org,bsmith,-5315,800-878-5554,\N,\N,\N,\N
答案 0 :(得分:0)
我会使用awk
:
awk -F, '{$6="212-598"$6}1' OFS=, input.file
使用,
作为输入和输出字段分隔符,可以轻松访问第六个字段并添加静态值。
答案 1 :(得分:0)
$ sed 's/,-/,212-598-/' missing_phone
Bill,Smith,Mr.,bsmith@mydomain.org,bsmith,212-598-5315,800-878-5554,\N,\N,\N,\N