37

文字列"125959"をに変換する必要があります"12:59:59"

明らかに、文字列は時間なので、正規表現はここではあまり良くありません。

4

2 に答える 2

76
time=125959
echo ${time:0:2}:${time:2:2}:${time:4:2}
于 2012-09-01T19:42:32.237 に答える
22

私は好きsedです:

time=125959
sed -e "s/\(..\)\(..\)\(..\)/\1:\2:\3/" <<< "$time"
  • これを次のように置き換えること.で改善できます[[:digit:]]
  • <<<ヒア文字列)について読むman bash(1)
于 2012-09-01T19:50:43.870 に答える