2013-10-10 114 views
0

我用awk打印功能执行以下字符串检查:

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

当我赞同这个字符串它产生

Column1text = 090756 

哪有我在第二列中每2个字符插入一个冒号?

Column1text = 09:07:56 

回答

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 
+0

这非常适合我。感谢您的帮助和指导。 – user1999357

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