awk从另一列的字符串部分替换列

时间:2018-02-08 08:02:16

标签: awk

var nodes = doc.DocumentElement.SelectNodes("myns:Cars/myns:Car", nsMgr); var cars = nodes.DeserializeList<Car>(); 档案:

Input.txt

所需的A B C -9 -9 01:662414 -9 -9 01:662622 01 731718 01:731718 档案:

output.txt

我正在寻找一种方法,如何用列A B C 01 662414 01:662414 01 662622 01:662622 01 731718 01:731718 中的部分替换列$1$2,如上所示。

我尝试了$3

awk

但它没有用。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

awk 解决方案:

awk 'NR > 1{ split($3, a, ":"); $1=a[1]; $2=a[2] }1' file
  • NR > 1 - 对从第2行开始的行执行操作
  • split($3, a, ":") - 通过分隔符$3将第3个字段值a拆分为数组:

输出:

A    B       C
01 662414 01:662414
01 662622 01:662622
01 731718 01:731718