【问题标题】:sed text string modification by prepending a fixed value通过添加固定值来修改 sed 文本字符串
【发布时间】:2016-01-04 13:13:21
【问题描述】:

我有一个 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

【问题讨论】:

  • 您应该至少列出 csv 的一行作为示例。

标签: sed


【解决方案1】:

我会使用awk:

awk -F, '{$6="212-598"$6}1' OFS=, input.file

使用, 作为输入和输出字段分隔符,访问第六个字段并添加静态值很简单。

【讨论】:

    【解决方案2】:

    sed 的替代方案

    $ sed 's/,-/,212-598-/' missing_phone
    
    Bill,Smith,Mr.,bsmith@mydomain.org,bsmith,212-598-5315,800-878-5554,\N,\N,\N,\N
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 2018-04-25
      • 1970-01-01
      • 2021-11-12
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多