이 블로그 검색

2018년 1월 27일 토요일

vim + 정규식을 이용한 smi 파일 일괄 수정

주말이라서 영화를 받았는데,smi 파일은 있는데 자막이 안나온다. 좋아하는 영환데...
smi 파일을 열어보니, 뭔가 알수 없는 규칙으로 작성되있다.



<SYNC Start=55046>알아, 궁금하겠지                                                             
<SYNC Start=56681>&nbsp;                                                                                     
<SYNC Start=56748>'천하의 토르가<br>                                                                         
어쩌다 이 꼴이 됐을까?'                                                                                                     
<SYNC Start=60318>&nbsp;                                                                                     
<SYNC Start=60485>때론 잡혀야만<br>                                                                          
원하는 걸 알아낼 수 있거든                               

자막파일은 있는데 왜 안나올까 궁금하여 잠시 알아보니 한국 자막인 경우엔 다음처럼 되어야 한다고 한다..


<SYNC Start=55046> <P Class=KRCC>알아, 궁금하겠지                                                             
<SYNC Start=56681> <P Class=KRCC>&nbsp;                                                                                     
<SYNC Start=56748> <P Class=KRCC>'천하의 토르가<br>                                                                         
어쩌다 이 꼴이 됐을까?'                                                                                                     
<SYNC Start=60318> <P Class=KRCC>&nbsp;                                                                                     
<SYNC Start=60485> <P Class=KRCC>때론 잡혀야만<br>                                                                          
원하는 걸 알아낼 수 있거든                               

<P Class=KRCC> 가 있어야 한국어 자막으로 인식된다고.
자막 생성자가 뭔가 잘못 올린듯.. 시험삼아 고쳐보니, 제대로 자막이 출력된다.
전체 자막을 수정하기 위해 vim으로 열어서  다음을 실행했다.

:%s/<SYNC Start=[0-9]*>/\0 <P Class=KRCC>/g

replace 명령을 수행할때 정규표현식을 사용하여, 먼저 <SYNC Start=숫자> 포맷을 찾고, 그 전체 문자열(\0) 에다가 <P Class=KRCC>를 덧붙인것이다.

참고 : http://vim.wikia.com/wiki/Search_and_replace#Details

댓글 없음:

댓글 쓰기