awk打印列$ 2并每2个字符添加一个冒号

时间:2013-10-10 04:56:37

标签: printing insert awk

我使用awk print函数执行以下字符串检查:

STRING=$(awk '{print $1" " "=" " " $2}' /tmp/test_file.out)

当我回显该字符串时,它会产生

Column1text = 090756

如何在第二列中每2个字符插入一个冒号?

Column1text = 09:07:56

2 个答案:

答案 0 :(得分:2)

这会分割输出

STRING=$(awk '{print $1,"=",substr($2,1,2)":"substr($2,3,2)":"substr($2,5,2)}' /tmp/test_file.out)
Column1text = 09:07:56

答案 1 :(得分:0)

您可以使用substr()执行此操作,例如:

echo Column1text 123456 | awk '{printf("%s = %s:%s:%s\n",$1,substr($2,1,2),substr($2,3,2),substr($2,5,2)) }'
Column1text = 12:34:56