我有这个整数20120305193821
,我想把它分成几个部分2012-03-05-19:38:21
,以便在 awk 中进一步使用。有人可以帮忙吗?
问问题
244 次
3 回答
4
如果您使用的是 gawk,则可以使用 FIELDWIDTHS:
echo 20120305193821 | gawk '{printf "%s-%s-%s-%s:%s:%s\n",
$1, $2, $3, $4, $5, $6}' FIELDWIDTHS="4 2 2 2 2 2"
于 2012-06-27T13:48:32.770 回答
2
为什么不使用子字符串?写起来很无聊,但正如你暗示的那样,你有索引?
echo "20120305193821" | awk '{printf "%s-%s-%s-%s:%s:%s\n",substr($1,1,4),substr($1,5,2),substr($1,7,2),substr($1,9,2),substr($1,11,2),substr($1,13,2)}'
输出:
2012-03-05-19:38:21
于 2012-06-27T12:19:09.080 回答
2
我知道你没有标记漂亮sed
所以只是在这里发布以供参考 -
$ echo 20120305193821 | sed 's/\(....\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1-\2-\3-\4:\5:\6/'
2012-03-05-19:38:21
于 2012-06-27T15:39:04.147 回答