Вставить символы в строку в bash? Мне нужно повернуть строку "125959" в "12:59:59". Очевидно, что строка - это время, поэтому регулярные выражения здесь не так хороши. Ответ 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)
Ответ 2 Мне нравится sed: time=125959 sed -e "s/\(..\)\(..\)\(..\)/\1:\2:\3/" <<< "$time" Вы можете уточнить это, заменив . на [[:digit:]] Читайте о <<< (Здесь строки) в man bash(1)