Вам просто нужно изменить его, чтобы захватить больше групп, и вывести их в нужной последовательности:
sed 's/^(...)(.)(..)(.)/\1\4\3\2/'
# | | | | |
# | | | | +- digit #7(\4)
# | | | +----- 2 chars (\3)
# | | +-------- digit #4 (\2)
# | +------------ 3 chars (\1)
# +--------------- start-of-line anchor
Имейте в виду, что это для простейшего случая, когда вы просто хотите поменять местами символы независимо от того,будь то цифры или нет.Вы можете легко расширить классы персонажей, чтобы ограничить обмен местами, но мое намерение здесь состоит в том, чтобы просто показать самый простой способ добиться обмена.