Вставить символы в строку в Bash?

Мне нужно повернуть строку"125959" в"12:59:59".

Очевидно, что строка - это время, поэтому регулярные выражения здесь не очень хороши.

 Andrew Mcdonald01 сент. 2012 г., 21:38
хороший вопрос! 010407 :)
 perilbrain01 сент. 2012 г., 21:35
Как твое время01:04:07 написано ???010407 или же147 ??
 perilbrain01 сент. 2012 г., 21:53

Ответы на вопрос(2)

Решение Вопроса
time=125959
echo ${time:0:2}:${time:2:2}:${time:4:2}
 01 сент. 2012 г., 21:54
Гун ответ. Для получения дополнительной информации см .:stackoverflow.com/a/1336245/110488

мне нравитсяsed:

time=125959
sed -e "s/\(..\)\(..\)\(..\)/\1:\2:\3/" <<< "$time"
You can refine this by replacing . with [[:digit:]] Read about <<< (Here strings) in man bash(1)
 02 сент. 2012 г., 03:06
Если вы используете GNU sed, попробуйтеsed -e 's/../:&/2g' <<< "$time

Ваш ответ на вопрос