Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

time=125959
sed -e "s/\(..\)\(..\)\(..\)/\1:\2:\3/" <<< "$time"
  • Вы можете уточнить это, заменив . на [[:digit:]]
  • Читайте о <<< (Здесь строки) в man bash(1)