使用awk将字符添加到特定字段

时间:2015-03-02 21:51:00

标签: shell awk

如何添加' 0'使用awk到第二个字段的第一个和第九个数字?

数据

  12345,20150303024955

输出

  12345,0201503030024955

我刚接触shell脚本。

2 个答案:

答案 0 :(得分:0)

假设“添加”是指“带前缀”:

$ echo '12345,20150303024955' |
awk 'BEGIN{FS=OFS=","} {sub(/.{8}/,"&0",$2); $2="0"$2}1'
12345,0201503030024955

答案 1 :(得分:0)

您要求awk,但在sed中也很容易做到:

$ echo '12345,20150303024955' | sed -r 's/,(.{8})/,0\10/'
12345,0201503030024955

工作原理

  • -r

    启用扩展正则表达式,以便我们不需要反斜杠转义。

  • s/,(.{8})/,0\10/

    查找逗号后跟八个字符。用逗号,零,八个字符和另一个零替换它。