-3

私はこの整数を持っており、awk でさらに使用するため20120305193821にいくつかの部分に分割したいと考えています。2012-03-05-19:38:21誰でも助けることができますか?

4

3 に答える 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

私はあなたがきれいにタグ付けしていないことを知っているsedので、参考のためにここに投稿してください -

$ echo 20120305193821 | sed 's/\(....\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1-\2-\3-\4:\5:\6/'
2012-03-05-19:38:21
于 2012-06-27T15:39:04.147 に答える
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 に答える