在bash中将字符插入字符串?

时间:2012-09-01 19:32:59

标签: linux bash

我需要将字符串"125959"转换为"12:59:59"

显然,字符串是时间,因此正则表达式在这里不太好。

2 个答案:

答案 0 :(得分:48)

time=125959
echo ${time:0:2}:${time:2:2}:${time:4:2}

答案 1 :(得分:15)

我喜欢sed

time=125959
sed -e "s/\(..\)\(..\)\(..\)/\1:\2:\3/" <<< "$time"
  • 您可以将.替换为[[:digit:]]
  • 来优化此功能
  • <<<
  • 中了解man bash(1)此处字符串