Недавно я скачал несколько плохо отформатированных файлов SRT, в которых формат времени испорчен как
HH:MM:SS:XXX
тогда как это должно быть
HH:MM:SS,XXX
Основная проблема теперь заключается в замене третьего двоеточия запятой в каждой строке синхронизации, отформатированной как
HH:MM:SS,XXX --> HH:MM:SS,XX
Может кто-нибудь предложить сценарий sed/awk, чтобы исправить эту проблему во всем файле? Я попробовал
sed 's/:/,/3;s/:/,/5' file
но это не сработало
Редактировать: ответил на мой собственный вопрос, забыв все о обратных ссылках
sed -E "s/([0-9][0-9])(:)([0-9][0-9][0-9])/\1,\3/g"