У меня есть 14-символьная строка, содержащая цифры.Как мне вставить символ в него в определенном месте, то есть в 4-м?Итак, если у меня есть такая строка: xxxxxxxxxxxxxx, как мне изменить ее на что-то вроде этого: xxxx-xx-xxxxxxxx?(х = цифра)
Спасибо!Ирек
Если ваши строки только содержат ваши цифры, вы можете сгруппировать первые четыре символа в группу:
\(....\)
и следующие два в другой группе:
\(....\)\(..\)
Затем вы просто заменяете его обратной ссылкой на первую группу (\1), тире, обратной ссылкой на вторую группу (\2) и другим тире:
\1
\2
\1-\2-
Результат:
$ echo 12345678900000 | sed 's/\(....\)\(..\)/\1-\2-/' 1234-56-78900000
Спасибо brandizzi за ваш ответ, он помог мне заставить мой работать, используя немного другой метод
sed 's/^\(.\{4\}\)\(.\{2\}\)/\1-\2-/'
4 и 2 работают, чтобы заменить 4-й символ, а затем 2-й после этого тире.
Итак, ххххххх становится хххх-хх-хх