вопрос sed вставить двоеточия

#sed

#sed

Вопрос:

Здравствуйте, я хочу использовать sed для поиска в файле 3-5 альфа-символов, за которыми следуют 3 цифры, и вставить двоеточие после первого альфа-символа и двоеточие перед числами

Ответ №1:

Использование GNU sed в Ubuntu 10.04.2 LTS:

 sed -r -e 's/([a-zA-Z]{3,5})([0-9]{3})/1:2/g'
  

РЕДАКТИРОВАТЬ: неправильно истолкован вопрос OP. Лучший ответ:

 sed -r -e 's/([a-zA-Z])([a-zA-Z]{2,4})([0-9]{3})/1:2:3/g'
  

Комментарии:

1. Если вы ожидаете, что строки abcdef123 или abcde1234 завершатся ошибкой, вы можете захотеть изменить регулярное выражение, чтобы включить границы слов, например: sed -r 's/(<[a-zA-Z])([a-zA-Z]{2,4})([0-9]{3}>)/1:2:3/g