조회 수 37631 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
CR, LF 는 줄바꿈 문자.. 
DOS<->Unix화일 주고 받을때 종종 문제가 되는데.. 모른척 종종 넘겨버렷으나 이번기회에 대충 집고 넘어가기..

* 유닉스(Unix)/리눅스(Linux)에는, LF (헥사로는 0x0A에 해당) 문자로 줄바꿈을 하고

* 도스(DOS)/윈도우(Windows)에서는, CR-LF (헥사로는 0x0D 0x0A에 해당) 라는 2문자로 줄바꿈을 하고

* 맥(Mac)에서는, CR (헥사로는 0x0D 에 해당) 로 줄바꿈합니다. "\n" 로 표현합니다.


줄바꿈 문자는 눈에 보이지 않기 때문에, 파일로 저장한 후, "헥사 뷰어"나, "헥사 에디터"로 보아야 알 수 있다. UltraEdit Edit->Hex Functions을 사용하거나.. 
cmd> hexdump.pl FileName.txt

유닉스에서 DOS화일을 바꾸는 방법(출처:http://yoonow.tistory.com/56)
1. vi(m)이 열린 상태 
1.1 문자 치환 명령 이용 

다음과 같이 문자 치환 명령으로 이 문자를 없애도록 합니다. 
:1,$s/^M//g 

물론 이것의 입력은 다음과 같이 하도록 합니다. 
:1,$s/[Control]+v+m을 누른다.//g 

1.2 파일포맷 변경 

vim 5.0 이상에서는 다음과 같이 명령을 내리도록 합니다 
:set fileformat=unix 

혹은 
:set ff=unix 

그리고, 저장하고 종료합니다. 
:wq 

이와 반대로 끝에 ^M 을 붙이려면(과연 누가..) 다음과 같이 합니다. 
:set fileformat=dos 

이전버전에서는 다음과 같이 합니다. 
:set textmode 

2. 프롬프트 상에서 
    2.1 dos2unix 이용 

    dos2unix와 unix2dos를 이용하여 변환할 수 있습니다. 

    다음과 같이 하면 ^M 문자가 없어집니다. 
    $ dos2unix fileName.txt

    ^M is ascii 15 so :
    $ sed 's/'`echo "\015"`'//g' file > filenew

  tr -d "\015\032" < dosfile > unixfile
    015 is CR
    032 is Ctrl-Z

    그리고 다음과 같이 하면 ^M 문자가 생기죠. 
    $ unix2dos FileeName.txt

    2.2 cat과 tr을 이용한 방법 

     다음과 같이 하면 해당 파일의 ^M 문자가 없어집니다. 
     $ cat dos-file | tr -d ^M > unix-file 

    2.3 perl 스크립트 

     다음과 같이 하면 여러파일을 한번에 바꾸게 됩니다. 
     # perl -i -pe 's/\015//g' *.html 



*** How to insert CR, LF in SQR ***
chr(13) is the indicator for Carriage Return (CR).  
chr(10) is the character for Line Feed (LF).  
Here is example code that uses both:
 
 let $cr = chr(13)
 let $lf = chr(10)
 let $crlf = $cr || $lf

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
75 LINUX 내 .bashrc 설정 secret 2015.08.31 0 0
74 LINUX gdb 쓸때 상용구 secret 2019.06.26 0 0
73 LINUX Ubuntu apt-get 명령어 정리 2020.02.11 4012 0
72 LINUX mutt Gmail 설치, 사용 / Ubuntu 18.04 환경 2019.11.25 5055 0
71 LINUX Ubuntu php5.6 , php7.1 설치 및 셋팅하기 2020.02.11 5197 0
70 LINUX vi 설정하기(.vimrc) 2019.02.01 5568 0
69 LINUX 리눅스의 기본 명령어들 2015.01.20 6757 0
68 LINUX 우분투(Ubuntu) 설치된 패키지 목록 확인하기 2016.03.17 6768 0
67 LINUX Ubuntu TFTP 서버 2019.10.30 7096 0
66 LINUX [Shell Script] 쉘 프로그래밍을 위한 명령어 file 2015.04.30 7360 0
65 LINUX bash 의 명령어 History 2015.01.20 7388 0
64 LINUX 리눅스 계정 목록 보기 2016.03.21 7452 0
63 LINUX 우분투(Ubuntu)에서 APM 웹서버 구축하기 2016.03.17 7490 0
62 LINUX 우분투 root 계정 사용하기 2014.06.18 8211 0
61 LINUX 리눅스 그룹관리 (groupadd, groupmod, groupdel) 2016.02.23 8396 0
목록
Board Pagination ‹ Prev 1 2 3 4 5 Next ›
/ 5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5