pC.NET

Welcome to oscc.kr



 텍스트 화일에서 ^M 빼기
2021-08-01 09:52:05
Hit : 113

작성자 : 피시넷

1. vi에서 (not vim)

vi에서 dos mode의 화일을 읽으면 줄끝에 ^M이 나타납니다.
명령어 모드에서..

:%s/^M//g

%s는 치환명령입니다.
%s///mode

위에서 mode에 g를 썼는데, 이것은 global의 약자로 화일
전체에 다 적용하는 mode입니다.


2. vim에서

vim에서는 dos mode의 화일을 읽어도 화면에 ^M을 표시하지 않습니다.
대신 밑에 [dos] 란게 나타나죠.
다음과 같이 해서 unix mode로.. 즉 ^M을 빼줍니다.

:set fileformat=unix

반대로 unix mode에서 dos mode로 바꾸고 싶다면

:set fileformat=dos




3. cat과 tr 사용해서..

cat은 화일의 내용을 stdout으로 프린트하고, tr은 특정 캐릭터를 바꾸거나 없애줍니다.
이것을 이용하면 다음과 같이 할 수 있습니다.

예를 들어 file1.txt 가 dos mode라면..

$ cat file1.txt | tr -d ^M > file2.txt

이렇게 하면 ^M만 제거된 새로운 file2.txt가 생깁니다.
이때 주의할 것은 절대로 위의 두 화일명을 같게 하면 안된다는 것입니다.
잘못하면 화일 날립니다. ;)




4. perl을 사용해서..

perl을 이용해서 간단하게 없애줄 수 있습니다.
.bashrc 등에 다음과 같이 alias를 해줍니다.

alias dos2unix="perl -pi -e 's/\\r\\n/\\n/'"
alias unix2dos="perl -pi -e 's/\\n/\\r\\n/'"

그리고 쉘에서..

$ dos2unix file1.txt

이런 식으로 실행하면 됩니다.


  피시넷
안녕하세요.
피시넷입니다.

 2830
 41


Netscape 4.76한글화시키는 방법
[!] unix명령어

Copyright (C) 1997-2025 All Rights Reserved.

Powered by
DNS server, DNS service 우분투 리눅스 웹서비스 AbuseIPDB Contributor Badge