본문 바로가기

텍스트 파일에 포함된 도스 스타일의 줄 끝 문자(^M, 즉 carriage return, \r)를 제거하려면 여러 가지 방법을 사용할 수 있습니다. 주로 이 문제는 Windows에서 작성된 파일을 Unix/Linux 시스템에서 열 때 발생합니다. Unix/Linux는 줄 끝을 나타내는 데 개행 문자(\n)만 사용하지만, Windows는 carriage return과 개행(\r\n)을 함께 사용하기 때문입니다.

다음은 ^M 문자를 제거하는 방법들입니다:

1. dos2unix 명령어 사용

가장 간단한 방법은 dos2unix 유틸리티를 사용하는 것입니다. 이 도구는 파일에서 Windows 스타일의 줄 끝을 Unix 스타일로 변환해줍니다.

dos2unix filename
  • filename: 변환할 파일의 이름입니다.
  • 이 명령을 실행하면 파일의 ^M 문자가 자동으로 제거됩니다.

2. Vim에서 ^M 제거하기

Vim을 사용하여 ^M 문자를 직접 제거할 수도 있습니다.

  1. Vim으로 파일을 엽니다:

    vim filename
  2. Vim에서 ^M 문자를 찾고 제거하는 명령을 입력합니다. ^M 문자를 입력하려면 Ctrl+V를 누른 후 Ctrl+M을 누릅니다:

    :%s/\r//g
    • 이 명령은 파일 전체에서 \r (carriage return)을 찾아서 제거합니다.
  3. 파일을 저장하고 종료합니다:

    :wq

3. sed 명령어 사용

sed 명령어를 사용하여 파일에서 ^M 문자를 제거할 수 있습니다.

sed -i 's/\r//g' filename
  • filename: ^M 문자를 제거할 파일의 이름입니다.
  • 이 명령은 파일 전체에서 \r 문자를 찾아서 제거합니다.

4. tr 명령어 사용

tr 명령어를 사용하여 carriage return을 제거할 수도 있습니다.

tr -d '\r' < inputfile > outputfile
  • inputfile: 원본 파일의 이름입니다.
  • outputfile: ^M 문자가 제거된 파일을 저장할 대상 파일의 이름입니다.
  • 원본 파일을 덮어쓰려면 다음과 같이 할 수 있습니다:
    tr -d '\r' < inputfile > temp && mv temp inputfile

이러한 방법들 중에서 상황에 맞는 방법을 선택해 파일에서 ^M 문자를 제거할 수 있습니다.

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.