하모니카 묻고답하기

조회 수 6560 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

리눅스를 한동안 건드리지 않다가 다시 건드리니 예전에 되던 걸 기억 못하는 것인지 아니면 안되던 것인데 되는 것으로 착각한 것인지 분간을 못하게 되었습니다. 제가 한글이 깨지는 자막파일 인코딩을 바꾸는 쉘스크립트를 짜 보았습니다


#!/bin/bash
# 첫번째 인자는 자막파일
subtitle=$1
iconv -c -f euc-kr -t utf-8 $1 > $HOME/템플릿/subtitleCon
cat $HOME/템플릿/subtitleCon > $1


한개씩 대입 하면 잘 되는데 여러 파일을 인자로 할 경우는 실행이 되지 않더군요. 예를 들어서 '*.smi'로 인자를 주었을 경우는 실행이 되지 않았습니다. 예전에 쉘스크립트를 짜놓고 cp나 find처럼 등록해 놓고 썻던 것 같은데 그걸 검색해도 나오지 않는 것 같습니다.


지금 일일이 경로/스크립트파일 자막파일 이런 식으로 바꾸고 있는데 조금 더 요령껏 바꾸는 방법 없을까요?

  • profile
    레인 2016.02.18 10:53
    for f in *.smi; do
    {스크립트} $i
    done

    이렇게 해보시면 어떨까요?
  • profile
    행복한펭귄 2016.02.18 10:58

    와우! 반복문으로 적용하는 방법도 괜찮은 방법인듯...


    취향에 맞게 사용해 보시길...


    msn034.gifmsn034.gifmsn034.gif

  • profile
    윙혼 2016.02.18 11:08

    알려주셔서 감사합니다. 쉘스크립트도 파고 들면 상당히 방대하던데 그냥 대충 읽어본 정도로 그쳐서 다시 보려니 다 잊어먹은 상태더군요. 처음부터 시작하는 느낌 입니다 ㄷㄷ

  • profile
    행복한펭귄 2016.02.18 10:55

    일괄처리 Shell

    http://stackoverflow.com/questions/4544669/batch-convert-latin-1-files-to-utf-8-using-iconv


    파일 일괄 변경하기

    http://kwakyc87.tistory.com/102


    리눅스 일괄 텍스트 파일 character set 인코딩 변환 

    http://codeheart.tistory.com/77


    euc-kr-인코딩-파일을-utf-8으로-변환하는-방법에-대한-글들-정리

    https://benant.wordpress.com/2012/04/03/euc-kr-%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%8C%8C%EC%9D%BC%EC%9D%84-utf-8%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B8%80%EB%93%A4-%EC%A0%95/


    <결론>


    보통 윈도우에서 디폴트로 저장한 경우(euc-kr)이 된다.

    이런 경우 리눅스 에디터에서 읽으면 인식하지 못하여 깨진다.

    다음은 *.smi 파일을 euc-kr 로 가정하여 utf-8 로 변환된 파일을 converted 폴더에 생성해주는 것이다.

    주의할 점은 euc-kr 이 아닌 경우도, 이러한 가정을 통해 변환을 하므로 반드시 열어서 확인해야 한다. (gedit *)


    mkdir converted

    find . -iname "*.smi" -type f -exec iconv -f euc-kr -t utf-8 "{}" -o ./converted/"{}" \;

    >> 설명하자면 모든 *.smi 일반 파일에 대해서 iconv 를 통해 euc-kr 을 utf-8 로 변환된 파일을 일괄 생성.


    확장가 smi로 끝나는 모든 파일을 찾아서 iconv를 사용하여 강제적으로 원하는 디렉토리에 코드 변환하여 저장하는 쉡스크립트이옵니다. 위와 같은 쉡스크립트로 모든 문제 해결 볼 수 있습니다.


    변경된 내용을 저장할 디렉토리를 converted가 아닌 다른 이름으로 해도 상관없습니다.


    쉽죠! 이상 끝.


    msn034.gifmsn034.gifmsn034.gif

  • profile
    윙혼 2016.02.18 11:12

    자세하게 알려주셔서 감사합니다. 일일이 수작업으로 끝낸 후지만 나중을 대비해서 최적의 스크립트를 짜 보려고 합니다. 그런데 작업하던 도중 같은 시즌의 드라마에서 euc-kr로 제작된 자막과 utf-8 제작된 자막이 섞여있더군요. 두번 변환하면 복구가 불가능 한 것 같아서 복구 불가능한 것들은 다시 찾아서 다운 받은 후 변환해서 저장해 두었습니다


    서버관련 지식은 먼 나라의 이야기 같았는데 데스크탑으로 응용하려고 하니 머리에 쏙쏙 들어오는 군요.

  • profile
    행복한펭귄 2016.02.18 12:07

    서버 쪽보단 데스크탑 용도로 사용하시니 당연히 머리에 쏙쏙 들어올 수 밖에요. ㅋㅋ


    김태용의 리눅스 쉘 스크립트 프로그래밍 입문

    http://book.naver.com/bookdb/book_detail.nhn?bid=6080977


    책을 참고하시면 많은 도움 받으실 수 있으리라 봅니다.


    영문으로 된 좋은 자료들이 넘치지만, 아마도 기겁할 것으로 보여서 나중에 필요하시면 문의하시고요, 일단은 이 책 정도 수준을 참고하시면 아마도 데스크탑 용도로 사용하시는데는 부족함이 없음줄 아뢰오~~~ msn019.gifmsn019.gifmsn019.gif


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
공지 게시판에 질문하기 전 읽기 - 어떻게 질문을 하는 것이 좋을까? 1 0 Kevin 2019.11.18 12983
1430 밸브를 사용하면 윈도우 게임을 리눅스에서도 즐길 수 있습니다 2 0 행복한펭귄 2018.08.24 805
1429 윈도우95를 윈도우, 리눅스, 맥에서 자유롭게 사용할 수 있습니다 file 0 행복한펭귄 2018.08.24 831
1428 티맥스OS 기사가 전자신문 한 페이지를 채웠네요. 4 0 세벌 2018.08.23 752
1427 리눅스 커널 서비스 거부 취약점 보안 업데이트 권고 0 la_Nube(누베) 2018.08.21 553
1426 데비안(Debian) 리눅스 커널 업데이트 - 2018.08.14. 0 la_Nube(누베) 2018.08.16 584
1425 우분투(Ubuntu) LTS 리눅스 커널 업데이트 - 2018.08.14. 0 la_Nube(누베) 2018.08.16 605
1424 chromebook에서도, linux package가 지원된다네요! 3 0 식혜고양이 2018.08.13 663
1423 데비안(Debian) 리눅스 커널 업데이트 - 4.9.110-3+deb9u1 0 la_Nube(누베) 2018.08.10 510
1422 우분투(Ubuntu) LTS 리눅스 커널 업데이트 - 4.15.0-30 0 la_Nube(누베) 2018.08.10 569
1421 Ubuntu와 Debian Stretch, Linux 커널 보안 업데이트로 TCP 결함 수정 0 행복한펭귄 2018.08.10 491
1420 Purism의 개인 정보 보호에 중점을 둔 Librem 5 Linux 폰이 그놈 3.30으로 아름답게 보임 0 행복한펭귄 2018.08.09 589
1419 모질라 썬더 버드 60, 새로운 다크 & 라이트 테마, 많은 기능 향상 0 행복한펭귄 2018.08.09 532
1418 중국산 CCTV, 백도어 공포 (한국일보) 4 0 la_Nube(누베) 2018.08.08 765
1417 MS 파워쉘 스냅 설치 지원 4 0 행복한펭귄 2018.08.03 649
1416 Arch Linux 2018.08.01 공식 발표 되었습니다 1 0 행복한펭귄 2018.08.03 710
1415 그놈 3.30 데스크탑 환경이 더욱 발전적으로 진행되고 있습니다 1 0 행복한펭귄 2018.08.03 682
1414 LibreOffice 6.0.6 (6.1) Office 발표 3 0 행복한펭귄 2018.08.03 680
1413 오페라 웹브라우저 스냅 설치 지원 1 0 행복한펭귄 2018.08.03 624
1412 우분투 16.04.5 LTS 시리즈 공식 발표 3 0 행복한펭귄 2018.08.03 681
1411 [질문] 리눅스에서 게임 '포탈1' 한글깨짐 13 file 0 Jill 2018.08.02 1585
Board Pagination Prev 1 ... 47 48 49 50 51 52 53 54 55 56 ... 123 Next
/ 123
CLOSE