Como usar o Sed para editar texto em arquivo .srt?

Como usar o Sed para editar texto em arquivo .srt?

Tenho um problema com o arquivo de legenda (.srt). Não funciona. E eu quero adicionar algum parâmetro a muitas linhas de texto com Regex no programa Sed.

mudanças deste padrão:

00:00:00 --> 00:00:06

para isso:

00:00:00,000 --> 00:00:06,000

",000" adicionado depois de "hh:mm:ss"

Como escrever regex para este problema?

Responder1

Use o seguinte:

sed 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/&,000/g' your_file.srt > new_file.srt

Ele substituirá todas as ocorrências de hora no formato XX:XX:XXpor XX:XX:XX,000. &é um caractere especial que se refere ao padrão encontrado.

Responder2

Com GNU sed:

sed -r 's/(([0-9]{2}:){2}[0-9]{2})/\1,000/g'

Responder3

Isso pode funcionar para você (GNU sed):

sed -r 's/((^|\s)[0-9]{2}(:[0-9]{2}){2})(\s|$)/\1,000\4/g' file

informação relacionada