tofrodos - 리눅스에서 윈도우용 텍스트 파일과의 줄바꿈 형식 차이 해결하기 리눅스

리눅스와 윈도우의 텍스트 파일은 줄바꿈 문자가 다르다. 리눅스는 lf(line feed,\n), 윈도우는 crlf(carriage return line feed, \r\n)를 사용한다. 이런 차이 때문에 리눅스에서 만든 텍스트 파일을 윈도우 메모장에서 열어 보면 줄바꿈이 제대로 보이지 않고 이상하게 된다.

리눅스에서 윈도우 텍스트 파일을 다루기 위해 tofrodos 패키지를 설치하면 된다.(데비안/우분투 기준)

# tofrodos 패키지 설치
sudo apt-get install tofrodos

설치를 완료하면 fromdos와 todos를 사용할 수 있다. 윈도우쪽에서 가져온 텍스트 파일을 리눅스 형식으로 바꾸고 싶으면 fromdos, 반대로 리눅스에서 만든 텍스트 파일을 윈도우에서 볼 수 있게 바꾸고 싶으면 todos를 이용한다. 아래의 예시를 보자.

# 윈도우에서 만든 my_win_file.txt를 리눅스 형식으로 변환
fromdos my_win_file.txt

# 리눅스에서 만든 my_lin_file.txt를 윈도우 형식으로 변환
todos my_lin_file.txt

파일을 변환하면서 원본을 백업하고 싶다면 -b 옵션을 추가하자.

# 윈도우에서 만든 my_win_file.txt를 리눅스 형식으로, 백업 파일 생성
fromdos -b my_win_file.txt

-b 옵션을 사용하면 원본 파일에 .bak 확장자를 붙여서 백업한다. 위의 예시에서는 my_win_file.txt.bak 파일이 생성된다.

참고로 UTF-8, EUC-KR 등 캐럭터 인코딩의 변환은 이전 게시물에서 설명한 iconv를 활용하면 되겠다. 여기로



핑백

  • 반달가면 : [bash: sed] 리눅스에서 윈도우 텍스트 파일의 CR(캐리지 리턴) 제거 2017-06-05 19:50:06 #

    ... 으로 보내는 CR이 남아 있을 수 있다. 파일 전체를 리눅스 형식으로 바꾸려면 tofrodos 패키지에 포함된 fromdos를 이용하면 되지만(이전 게시물을 참고하자. 여기로), 일부분만 추출해서 변수에 할당하고 작업해야 할 경우에는 sed를 이용해서 CR만 제거해 주면 되겠다. 아래와 같은 형태로 해결. (sed를 이용한 ... more

덧글

  • zno 2016/11/15 21:49 # 답글

    저는 vim으로 파일 포멧이랑 인코딩을 변경하는데
    이렇게 하면 더 편하겠네요
  • 반달가면 2016/11/17 00:48 #

    네. 에디터로 열고 다시 저장하시는 것보다는 이쪽이 더 간편할 겁니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

39703
2864
1813372

ad_widget_2