본문 바로가기
RETRY/Linux

Dos <-> UNIX 파일 내의 줄바꿈 변경

by 고민하는늘보™ 2017. 1. 11.
반응형

Windows 상에서 작업하는게 편하다보니, 대충 Windows 상에서 생성한 code 파일들을 빌드 머신에 올려 빌드, 확인하고는 합니다.

혼자 작업을 하는 경우에는 그냥 그냥 대충~~ 대충~ 쓸 수 있지만, 여럿이 한꺼번에 작업을 하고 git  등을 사용하여 협업을 하는 경우 

대부분의 빌드 머신은 linux로 구성되어 있어 종종 컴파일시에 에러 등이 생기기도 하고 

무엇보다 compare 하는데 Dos 파일과 UNIX 파일이 교차되면서 생기는 아래와 같은 비교 분석은 은근히 신경쓰이는 부분인지라


대체로 빌드 머신에 맞추어 unix 파일 형태를 base format 형태로 사용하고 있습니다.


울트라에디터 상에서 저장 형식을 UNIX로 바꾸어 저장하여도 되고, 머신 상에서 vim 등을 활요하여 변경하는 방법도 있습니다만,

tofordos 패키지를 설치하여 target 또는 build machine 상에서 변경하는 방법이 있어 공유합니다.


# tofrodos 패키지 설치

sudo apt-get install tofrodos


설치를 완료하면 fromdos와 todos를 사용할 수 있습니다.


윈도우쪽에서 가져온 텍스트 파일을 리눅스 형식으로 바꾸고 싶으면 fromdos, 

반대로 리눅스에서 만든 텍스트 파일을 윈도우에서 볼 수 있게 바꾸고 싶으면 todos를 이용하면 됩니다.


# 윈도우에서 만든 contents.cpp 를 리눅스 형식으로 변환

fromdos contents.cpp


# 리눅스에서 만든 contents.cpp를 윈도우 형식으로 변환

todos contents.cpp


find xargs *.* 등을 활용하여 하위 폴더 내의 동일 확장자 파일을 모두 바꾸는 방법 등으로 활용할 수 있을 것 같습니다.

find ./  -name "*.cpp" | xargs fromdos


아래는 참조용 옵션 사항입니다.

$ fromdos -help

tofrodos Ver 1.7.13 Converts text files between DOS and Unix formats.

Copyright 1996-2013 Christopher Heng. All rights reserved.

http://www.thefreecountry.com/tofrodos/index.shtml

Usage: fromdos [options] [file...]

-a      (Deprecated option, see manual for info.)

-b      Make backup of original file (.bak).

-d      Convert DOS to Unix.

-e      Abort processing files on error in any file.

-f      Force: convert even if file is not writeable.

-h      Display help on usage and quit.

-l file Log most errors and verbose messages to <file>

-o      Overwrite original file (no backup).

-p      Preserve file owner and time.

-u      Convert Unix to DOS.

-v      Verbose.

-V      Show version and quit.

 


반응형